70+专家分享实战经验,2024年度AI最佳实践都在AICon北京 了解详情
写点什么

Lodash 库爆出严重安全漏洞,波及 400 万 + 项目

  • 2019-07-10
  • 本文字数:1302 字

    阅读完需:约 4 分钟

Lodash库爆出严重安全漏洞,波及400万+项目

安全漏洞的问题一直是大家关心的问题,仿佛是巧合,在云视频会议服务提供商 Zoom 刚刚被爆出存在”零日漏洞“威胁 Mac 用户隐私和信息安全的同时,开发者熟知的 npm 库 Lodash 也被爆出存在高严重性安全漏洞——原型污染漏洞,该漏洞将威胁超过 400 万个项目的服务安全性。


Lodash是一个 JavaScript 库,包含简化字符串、数字、数组、函数和对象编程的工具,可以帮助程序员更有效地编写和维护 JavaScript 代码。昨天,Lodash 被爆出一个高严重性安全漏洞——”原型污染“漏洞。

漏洞爆发,波及超过 400 万项目


Lodash 是一款流行的 npm 库,GitHub 上使用它的项目就多于 400 万。昨天,开源安全平台 Snyk 的开发者 Liran Tal 发现了一个高严重性的原型污染漏洞,影响所有版本的 Lodash,包括最新版本 4.17.11。该漏洞对使用 Lodash 的用户群和服务安全性造成极大威胁。


该漏洞被指定为CVE-2019-10744,可能会影响大量的前端项目。因为 Lodash 的普及率非常高,每月的下载量超过 8000 万次。

原型污染漏洞的危害

原型污染漏洞使攻击者能够修改 Web 应用程序的 JavaScript 对象原型,这类似于一个可用于根据预定义结构存储多个值的变量。



这些结构和默认值被称为原型,可在未设置任何值时阻止应用程序对其进行散列。


但是,如果攻击者设法将属性注入现有的 JavaScript 对象原型中,就可以操纵这些属性来覆盖或污染应用程序。这样很可能会影响应用程序通过原型链处理 JavaScript 对象的过程,从而导致拒绝服务或远程代码执行出错。


根据 Tal 的说法,通过构造函数重载的方式,Lodash 库中的函数“defaultsDeep”很有可能会被欺骗添加或修改 Object.prototype 的属性,最终可能导致 Web 应用程序崩溃或改变其行为,具体取决于受影响的用例。


虽然”原型污染“漏洞影响非常严重,但是攻击者想要利用它并没有那么容易,他们需要深入了解每个 Web 应用程序的工作原理。

并非第一次爆出原型污染漏洞

早在去年 1 月 30 日,holyvier就向 Node.js第三方模块提交了一份报告。该报告指出 Lodash 受到原型污染攻击,攻击者可以添加或修改所有对象上现有的属性。Lodash 的创建者John-David Dalton随后立即对此漏洞做了修复更新。


之后,Maximilian Berkmann 也在 GitHub 上提交了关于”原型污染“的 issue,他指出 Lodash 4.17.5 之前的版本容易受到原型污染。易受攻击的函数是 defaultsDeep、merge 和 mergeWith,它们允许恶意用户通过“proto”修改对象的原型,从而导致所有对象上存在的现有属性被添加或修改。Lodash 的创建者John-David Dalton及时回复表示:”在 Lodash 更新到 4.17.5 或更高版本之后,这个问题可以得到解决“。


Lodash 原型污染漏洞报告:https://hackerone.com/reports/310443


GitHub 原型污染问题的讨论:https://github.com/lodash/lodash/issues/3882

漏洞修复计划

研究负责人向 Lodash 的维护人员 John Dalton 报告了这个漏洞,并提出了修复工具(拉取请求12),这些修复程序将包含在下一版本的 Lodash 库中,预计将很快发布。


如果你的项目也在使用 Lodash,建议你在官方补丁发布后立即更新 Lodash 库,或手动修补程序。


英文原文:https://thehackernews.com/2019/07/lodash-prototype-pollution.html


2019-07-10 19:5739289
用户头像
王莹 腾讯云产品运营

发布了 74 篇内容, 共 46.2 次阅读, 收获喜欢 231 次。

关注

评论

发布
暂无评论
发现更多内容

总结:PHP值得注意的几个问题

一直AC一直爽

php

Mysql错误:Ignoring query to other database解决方法

一直AC一直爽

MySQL

我向面试官讲解了单例模式,他对我竖起了大拇指

苹果看辽宁体育

设计模式 单例模式

排序笔记

烫烫烫个喵啊

算法 排序

爸爸,我想握住你的手

一直AC一直爽

随笔杂谈 父爱

我有一个梦想

一直AC一直爽

随笔杂谈 梦想

剪刀爱情

一直AC一直爽

电影

读《我的大学,我的苦难》有感

一直AC一直爽

随笔杂谈 读后感

可读代码编写炸鸡九 - 抽取子问题

多选参数

编程 代码 代码优化 代码规范 可读代码

ZK 从入门到放弃 入门篇

小隐乐乐

技术面试官应该怎么问?面试者应该怎么答?

xcbeyond

面试 自我介绍

week7 作业

Geek_2e7dd7

Elasticsearch源码解析:环境搭建

Jackey

elasticsearch

Apache下error.log文件太大的处理方法

一直AC一直爽

广义表的实现!

烫烫烫个喵啊

算法 广义表

redis系列之——缓存穿透、缓存击穿、缓存雪崩

诸葛小猿

redis 缓存穿透 缓存击穿 缓存雪崩

布隆过滤器是个啥!

诸葛小猿

布隆过滤器 bloomfilter bloom filter

百度CTO王海峰对话王辰院士:全球“最强大脑”助力大数据抗疫时代来临

脑极体

week7 学习总结

Geek_2e7dd7

公开课 | 吉祥人寿从0到1的 Jira 落地实践

Atlassian

敏捷开发 研发管理 Jira

架构师是怎样炼成的 7-1 性能测试与优化

闷骚程序员

手把手教你写数独计算器(1)

一直AC一直爽

c++ 算法 数独

第七周总结

andy

极客大学

轻松应对并发问题,简易的火车票售票系统,Newbe.Claptrap 框架用例,第一步 —— 业务分析

newbe36524

容器 微服务 架构设计 .net core ASP.NET Core

思维模型盲区:所知障和从众效应

石云升

思维模型 倾听 从众效应

性能测试

陈皮

最短路径问题(无负边值)——Dijkstra算法

烫烫烫个喵啊

算法 prim 最短路径

HashiCorp官宣:禁止国内使用其旗下Consul等开源软件?

xcbeyond

Consul 条款

Redis(二)单机版安装

奈何花开

Java redis

架构师训练营 -- 第七周作业

stardust20

寻找感动的养分

一直AC一直爽

感恩 随笔杂谈 感动

Lodash库爆出严重安全漏洞,波及400万+项目_语言 & 开发_王莹_InfoQ精选文章