NPM软件包中报告的严重漏洞每周有数百万次下载

一个被广泛使用的用于JavaScript编程语言的名为“Pac解析器”的NPM软件包已经修复了一个高严重性远程代码执行漏洞,该漏洞可能被滥用,在节点内运行恶意代码。无论何时发送HTTP请求,都可以使用js应用程序。
该漏洞被追踪为CVE-2021-23406,在CVSS漏洞评分系统上的严重性等级为8.1,并影响5.0.0之前的Pac解析器版本。
代理自动配置(PAC)文件是一个JavaScript函数,用于确定是否应将web浏览器请求直接路由到目标或转发到给定主机名的web代理服务器。PAC文件是代理规则在企业环境中的分布方式。
蒂姆·佩里(Tim Perry)在上月末发表的一篇文章中说:“这个软件包用于PAC Proxy Agent中的PAC文件支持,而Proxy Agent又反过来使用Proxy Agent,然后Proxy Agent将其作为标准的go-to软件包,用于Node.js中的HTTP代理自动检测和配置。”。“它非常流行:从AWS的CDK工具包到Mailgun SDK,再到Firebase CLI,代理无处不在。”
CVE-2021-23406与Pac代理无法正确沙箱Pac文件有关,从而导致不受信任的Pac文件可能被滥用,完全脱离沙箱,并在底层操作系统上运行任意代码。然而,这就要求攻击者要么驻留在本地网络上,有能力篡改PAC文件的内容,要么将其与第二个漏洞链接以改变代理配置。
佩里说:“这是一个针对VM模块的众所周知的攻击,它之所以有效,是因为Node没有完全隔离‘沙盒’的上下文,因为它并没有真正尝试提供严重的隔离。”。“解决方法很简单:使用真正的沙箱,而不是VM内置模块。”
Red Hat在一份独立的咨询报告中表示,该易受攻击的软件包随其针对Kubernetes的高级群集管理产品一起提供,但是指出,它“目前还不知道在受影响的组件中触发漏洞的向量,而且受影响的组件受到用户身份验证的保护,从而降低了该漏洞的潜在影响。”