写点什么

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:5739310
用户头像
王莹 腾讯云产品运营

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

关注

评论

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

WIFI7 M.2 moudle-QCN9274+QCN6274-Pinnacle of WiFi field-support-MU-MIMO-OFDMA-TWT technology

wifi6-yiyi

6G WiFi 7

开放原子开源基金会TOC(技术监督委员会)第八十次全体会议

开放原子开源基金会

开源

PoseiSwap 更新质押系统,并将在 8 月18 日开启“Trident ”快照

威廉META

校源行丨开放原子开源基金会赴福州走访交流

开放原子开源基金会

开源

三生ONE物,无限可能|博睿数据上市三周年!

博睿数据

可观测性 智能运维 One 上市3周年

一文带你读懂设计模式之责任链模式 | 京东云技术团队

京东科技开发者

源码分析 设计模式 责任链模式 企业号 8 月 PK 榜

OpenTiny Vue 组件库实现主题配置和UX交互规范自定义

OpenTiny社区

开源 Vue 前端 组件库

ThreadLocal不过如此

java易二三

Java 程序员 计算机

奖金丰厚 等你来拿!第六届开源创新大赛飞桨赛道下半场来啦

飞桨PaddlePaddle

人工智能 百度飞桨

PoseiSwap 更新质押系统,并将在 8 月18 日开启“Trident ”快照

鳄鱼视界

SpringBoot3集成Kafka

Java kafka 架构 springboot SpringBoot3

直播系统源码协议探索篇(二):网络套接字协议WebSocket

山东布谷科技

软件开发 websocket 源码搭建 直播系统源码 网络套接字协议

SimpleDateFormat 线程安全问题修复方案 | 京东物流技术团队

京东科技开发者

jdk8 线程安全 SimpleDateFormat类 SimpleDateFormat 企业号 8 月 PK 榜

SpringBoot 太强了,这些优势你需要了解

java易二三

Java 程序员 Spring Boot 后端 计算机

React请求机制优化思路 | 京东云技术团队

京东科技开发者

React 前端性能 企业号 8 月 PK 榜 react18 请求机制

Vue 框架提升加载速度的经验分享

FinClip

Java如何生成随机数?要不要了解一下!

java易二三

Java 程序员 random 计算机

7种创建方式,带你理解Java的单例模式

华为云开发者联盟

Java 开发 华为云 华为云开发者联盟 企业号 8 月 PK 榜

使用tidb-toolkit批量删除/更新数据

TiDB 社区干货传送门

性能调优 管理与运维 应用适配

基于迁移学习的基础设施成本优化框架,火山引擎数智平台与北京大学联合论文被KDD收录

字节跳动数据平台

大数据 A/B测试 企业号 8 月 PK 榜

这,就是大模型时代的生产力!

飞桨PaddlePaddle

人工智能 paddle 百度飞桨 文心大模型 WAVE SUMMIT

Flink 数据集成服务在小红书的降本增效实践

Apache Flink

大数据 flink 实时计算

简单理解 TiDB Serverless branching

TiDB 社区干货传送门

数据库前沿趋势

Oracle-TiDB迁移-生僻字乱码问题

TiDB 社区干货传送门

迁移 实践案例 应用适配

Java垃圾回收机制详解及性能优化详解。

百度搜索:蓝易云

Java 云计算 Linux 运维 JVM

java——反射与注解

java易二三

Java 程序员 计算机 API 科技

API 自动化测试的佳实践

Apifox

软件测试 自动化测试 API测试 API开发 测试自动化工具

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