freeBuf
主站

分类

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

特色

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

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

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

FreeBuf+小程序

FreeBuf+小程序

流行的Node.js库中存在原型污染漏洞,可致Web应用程序遭受DoS和远程Shell攻击
2020-08-05 16:04:45

研究人员发现express-fileupload库中存在一个注入漏洞(CVE-2020-7699),攻击者可利用该漏洞对Node.js服务器发动原型污染攻击。

express-fileupload,是一个Node.js程序包,下载量超过700万,借助该程序包,应用程序可处理web应用程序中上传的文件。

express-fileupload 1.1.8之前版本受到该漏洞的影响,NVD将其CVSS v3分值评为9.8。该漏洞已在该库最新1.1.9版本中得到了修复。

该漏洞打开了拒绝服务攻击的大门,在某些情况下,还可导致远程shell访问。

Node.js的编程语言JavaScript使用原型定义函数和对象的属性。原型污染攻击利用该特征操纵应用程序的行为。

express-fileupload含有一个parseNested选项,该选项从上传的文件中创建嵌套的对象结构。当启用该选项时,攻击者可以在web请求中使用特殊构造的文件名发动原型污染攻击。

在其博客文章中,安全研究人员Posix展示了如何利用该漏洞造成Node.js服务器崩溃,并在每次的请求中返回内部服务器错误,导致拒绝服务。

根据Posix发布的信息,该漏洞还可被用于攻击其他的库,例如流行的EJS模板引擎,该模板引擎经常与express-fileupload组合使用。

攻击者可利用express-fileupload污染EJS的outputFunctionName参数,获取对Node.js服务器的shell访问权限。

“我的文章解释了如何通过EJS获取shell,”Posix对The Daily Swig说到,并补充说这样的攻击并不限于EJS。“由于原型污染可以改变多种上下文的流,简单地添加几个引用的模块可以为攻击者创造许多可能性。”

Posix向express-fileupload的开发人员报告该漏洞后,该漏洞得到了修复。该Node.js程序包的维护人员Richard Girges告诉The Daily Swig,该库的大多数用户可能不受该漏洞的影响。

“该漏洞只影响打开express-fileupload的parseNested选项的用户,”他解释道,“默认情况下,该选项不会打开,因为它用于解决一个非常特定的情况,也就是用于如何处理多部分请求的情况。”

“我们一获悉该漏洞,就发布了补丁(在GitHub上收到初始报告后大约15个小时)。我们还在NPM注册表中对express-fileupload之前版本发布了弃用通知,因为这是通知用户需要升级该程序包的最有效方法。”

根据Posix的说法,EJS仍然容易受到原型污染攻击。

“EJS确实非常努力地将传递给模板的数据与用于渲染模板的选项分离,”EJS库的维护人员Matthew Eernisse告诉The Daily Swig,并补充表示outputFunctionName(在Posix的PoC中被利用的属性)是个选项,不应通过可能受污染的用户输入来设置。

“我们当然无法控制用户选择如何使用EJS,如果他们选择传入未经过滤的用户输入的数据,一切就都白费了。”他补充道。

受到安全研究人员Michał Bentkowski开展的类似工作的启发,在发现该express-fileupload漏洞的过程中,Posix使用NPM模块分析去寻找Node.js应用程序中真实存在的原型污染漏洞。

Posix说到,“在CTF和其他安全比赛中,JavaScript原型或特性中的安全漏洞通常会被修复。但是在真实世界中,这方面的研究几乎没有。”

“受污染的原型会影响应用程序的所有领域,而不受范围约束。我认为,我们需要对这方面的技术开展更多的研究。”

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

文章来源The Daily Swig;转载请注明出处。

 

关注群智分析平台公众号,获取资讯《Mitsubishi Electric工厂自动化产品漏洞可被用于远程攻击组织》、《社交平台Meetup存在漏洞,用户的Paypal资金可能已遭黑客窃取》。

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