freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

流行的node-forge JavaScript库中存在漏洞
2020-09-22 14:36:08

流行的node-forge JavaScript库的一个遗留函数中存在一个安全漏洞(CVE-2020-7720),攻击者可利用该漏洞对应用程序执行原型污染攻击。

超过350万个存储库使用的node-forge实现了各种加密实用程序,TLS协议和用于开发web应用程序的工具。

原型污染是一种严重的漏洞,攻击者可通过在运行时修改应用程序的代码利用该漏洞篡改应用程序的行为。

这通常通过恶意输入来执行,取决于脆弱的组件,可导致一系列攻击,包括拒绝服务甚或远程执行代码。

该漏洞存在于node-forge中的util.setPath()函数,该函数自该库的早期版本开始,在该库开始注重加密之前,就已存在。

根据node-forge的更新日志,当使用不安全的输入时,util.setPath存在一个潜在的原型污染安全漏洞。setPath是一个通用函数,允许开发人员通过传递文本字符串修改对象的属性。

该漏洞最先被报告给安全公司Snyk,在node-forge的维护人员发布补丁后,该公司披露了该漏洞。

Snyk给予该漏洞9.8分的超危评分,而NVD对该漏洞的评分为7.3。Snyk网站上发布的PoC显示,setPath可被用于污染基础对象的__prototype__属性,导致应用程序被修改。

Node-forge更新日志写道,“Forge本身并不使用这些函数。它们可追溯至早些时候,当forge定向提供通用助手功能时。”

Node-forge的维护人员David Lehn表示,“我们从未观察到任何人使用该函数,包括forge自身,更别提利用它了。”

和其他相关的函数一起,setPath被从node-forge最新版本中移除了。

Node-forge的维护人员建议使用其他具有类似属性设置功能的库,例如lodash,但是也警告在这些库中可能有原型污染漏洞。

“lodash set()类似于setPath()(也是setPath的一个很好的受支持的替代)。我想其他人已经编写了类似的object-path-setting代码。当正确使用时,它是非常有用的。”Lehn说道,但是他补充表示,如果没有过滤输入,提供该功能的任何代码都可能含有类似的安全漏洞。

------------------------------------------------------------------------------------------------------------

消息来源Port Swigger;转载请注明出处。

# 资讯
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者