【漏洞通告】Pac-Resolver远程代码执行漏洞(CVE-2021-23406)

发布时间 2021-09-14

0x00 漏洞概述

CVE     ID

CVE-2021-23406

时      间

2021-08-24

类      型

RCE

等      级

高危

远程利用

影响范围

< 5.0.0

攻击复杂度

可用性

用户交互

所需权限

PoC/EXP


在野利用


 

0x01 漏洞详情

image.png

Pac-resolver是一个广泛使用的npm包,该包的每周下载量超过300万次,GitHub 上有285k公共依赖存储库。

近日,Pac-resolver中被披露存在一个远程代码执行漏洞(CVE-2021-23406),该漏洞的CVSSv3评分为9.8。

代理自动配置(PAC)文件是用 JavaScript 编写的脚本,它决定网络浏览器的请求是直接发送到目的地还是转发到指定主机名的web代理服务器。PAC文件是在企业环境中分发代理规则的方式。

Pac-resolver包用于Pac-Proxy-Agent中的PAC文件支持,而Pac-Proxy-Agent又被用于Proxy-Agent中,然后被作为Node.js中HTTP代理自动检测和配置的标准可用包而被广泛使用。Pac-resolver包非常受欢迎,Proxy-Agent 也几乎无处不在,从 AWS 的 CDK 工具包到 Mailgun SDK 再到 Firebase CLI。

由于Pac-Proxy-Agent没有正确地对PAC文件进行沙箱处理,导致不受信任的PAC文件可以被滥用,从而使得攻击者可以完全突破沙箱并在系统上运行任意代码。但要利用此漏洞,攻击者要么能够驻留在本地网络上,要么能够篡改 PAC 文件的内容,要么可以结合其它漏洞更改代理配置。

研究人员表示,该漏洞是针对VM 模块的众所周知的攻击,因为Node没有完全隔离沙箱的上下文。该漏洞的修复方法是使用真正的沙箱而不是VM 内置模块。

 

影响范围

Pac-Resolver(npm)版本 < 5.0.0

 

0x02 处置建议

目前已在Pac-Resolver v5.0.0、Pac-Proxy-Agent v5.0.0 和 Proxy-Agent v5.0.0中修复了此漏洞,建议受影响的用户及时升级更新。

下载链接:

https://www.npmjs.com/package/pac-resolver

 

此外,RedHat于2021年8月22日发布了CVE-2021-23406的安全公告,表示Red Hat Advanced Cluster Management for Kubernetes 附带了存在该漏洞的组件,但受影响的组件受到用户认证的保护,从而降低了该漏洞的潜在影响。建议相关用户查看RedHat发布的安全公告并及时修复。

参考链接:

https://access.redhat.com/security/cve/cve-2021-23406

 

0x03 参考链接

https://httptoolkit.tech/blog/npm-pac-proxy-agent-vulnerability/

https://www.npmjs.com/package/pac-resolver

https://nvd.nist.gov/vuln/detail/CVE-2021-23406

https://thehackernews.com/2021/09/critical-bug-reported-in-npm-package.html

 

0x04 更新版本

版本

日期

修改内容

V1.0

2021-09-14

首次发布

 

0x05 文档附录

CNVD:www.cnvd.org.cn

CNNVD:www.cnnvd.org.cn

CVE:cve.mitre.org

CVSS:www.first.org

NVD:nvd.nist.gov

 

0x06 关于我们

关注以下公众号,获取更多资讯:

image.png