"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 版本号以修补该问题。