每周下载量超 300 万次的 NPM 包存在严重漏洞,已影响众多 Node.js 应用

安全 漏洞
近日该软件包开发者推出了一个漏洞修复补丁,以解决一个可能影响很多 Node.js 应用程序的远程代码执行漏洞(RCE)。

"pac-resolver" 是一个非常受欢迎的 NPM 软件包,通过查询可以发现该软件包每周的下载量超过 300 万次,在 GitHub 上有 28.5 万个公共依赖仓库。近日该软件包开发者推出了一个漏洞修复补丁,以解决一个可能影响很多 Node.js 应用程序的远程代码执行漏洞(RCE)。

开发人员 Tim Perry 本周披露了 pac-resolver 依赖关系中的一个高危漏洞,他指出,只要操作者试图发送 HTTP 请求,它就可能允许本地网络上的攻击者在 Node.js 进程中远程运行恶意代码。Note.js 是知名的 JavaScript 运行时环境,可用于运行基于 JavaScript 的网络应用。

该漏洞的 CVE ID 为 CVE-2021-23406,该漏洞与 pac-resolver 处理 PAC 文件的方式有关。PAC 或 Proxy-Auto Config 是指用 JavaScript 编写的 PAC 文件,用于分发复杂的代理规则,指示 HTTP 客户端对给定的主机使用哪个代理,这些文件在企业系统中被广泛使用。它们从本地网络服务器和远程服务器上分发,通常是通过不安全的 HTTP 分发而不是 HTTPS。

虽然 PAC 标准最初于 1996 年作为 Netscape Navigator 2.0 的一部分推出,但至今仍在 Amazon Web Services(CDK)、Mailgun SDK 和 Google Firebase CLI 中得到广泛运用。

它影响到任何在 Node.js 应用程序中依赖 Pac-Resolver 5.0.0 版本之前的开发者。如果开发人员做了以下三种配置,那么漏洞就会对你的项目产生影响:

  • 明确使用 PAC 文件进行代理配置
  • 在启用 WPAD 的系统上,读取并使用 Node.js 中的操作系统代理配置
  • 使用来自任何其他不受信任来源的代理配置(环境变量、配置文件、远程配置端点、命令行参数)

在上述任何一种情况下,攻击者都可以通过配置一个恶意的 PAC URL,并在使用代理配置发送 HTTP 请求时在你的计算机上远程运行任意代码。

目前该漏洞已在 pac-resolver v5.0.0 版本中被修复了。由于 pac-resolver 的下载量极大,并且广泛应用于各类项目,这意味着很多 Node.js 应用程序的开发者都有可能受到该漏洞的影响,建议各位开发者仔细检查一下自己的项目,并确保更新到 5.0.0 版本以修复该问题。

 

责任编辑:赵宁宁 来源: OSCHINA
相关推荐

2021-02-26 13:18:38

Node.js漏洞代码

2021-07-05 12:27:42

Android恶意软件Google

2023-01-30 15:06:25

2022-08-21 16:37:12

应用程序恶意软件Android

2012-05-08 09:47:08

Google PlayAndroid应用程序

2011-11-02 10:02:24

愤怒的小鸟

2021-07-27 10:15:57

浏览器NPM包Chrome web

2014-02-17 10:35:13

Ubuntu KyliUbuntu

2013-09-13 10:16:34

Windows 8.1

2022-03-23 09:50:27

恶意软件Play StoreGoogle

2017-06-28 15:21:01

Node.jsUberLinkedIn

2021-08-04 09:24:58

PyPI恶意软件漏洞

2023-03-15 10:23:18

2023-09-11 11:43:48

2012-07-09 10:12:34

黑莓应用商店

2011-10-25 14:45:19

AndroidiOS应用

2012-03-15 21:36:49

App Store

2011-04-25 09:57:44

Firefox 4

2021-04-02 10:14:02

诈骗软件Fleeceware软应用

2022-02-22 10:40:27

漏洞网络攻击
点赞
收藏

51CTO技术栈公众号