当前位置:首页 > 信息安全 > 安全通告 > 详情
安全漏洞预警通告-Lodash库原型污染漏洞(CVE-2019-10744)预警
2019年07月16日   
  1、基本情况
  Lodash库存在原型污染漏洞,CVE编号:CVE-2019-10744。攻击者可通过构造函数重载的方式,对Lodash 库中的函数 defaultsDeep欺骗添加或修改 Object.prototype 的属性,最终导致 Web 应用程序崩溃或改变其行为。
  2、漏洞描述
  Lodash 是一个 JavaScript 库,包含简化字符串、数字、数组、函数和对象编程的工具,可以帮助程序员更有效地编写和维护 JavaScript 代码。并且是一个流行的 npm 库,仅在GitHub 上就有超过 400 万个项目使用,Lodash的普及率非常高,每月的下载量超过 8000 万次。近期被爆出一个严重的原型污染漏洞。
  据悉,根据受影响用例及是否可利用的情况,该漏洞的影响范围包括属性注入、代码执行、拒绝服务等。该漏洞被追踪为CVE-2019-10744,允许黑客修改Web应用程序的JavaScript对象的默认结构和默认值,通过欺骗Lodash库中的“defaultsDeep”函数,使用构造函数有效负载添加或修改Object.prototype的属性,导致Web应用程序崩溃并在未收到预期值时更改其行为。
  3、影响范围
  Lodash 4.17.11之前的所有版本
  4、处置建议
  目前官方尚未公布修复补丁,建议升级Lodash到4.17.12。防范措施如下:
   冻结  Object.prototype ,使原型不能扩充属性
   建立 JSON schema
   规避不安全的递归性合并函数
   使用无原型对象,打破原型链并防止污染。
   采用新的 Map 数据类型,代替 Object 类型
  5、参考链接
  1) https://snyk.io/blog/snyk-research-team-discovers-severe-prototype-pollution-security-vulnerabilities-affecting-all-versions-of-lodash/
  2) https://snyk.io/vuln/SNYK-JS-LODASH-450202