聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
Node.js 是用于构建可扩展网络应用程序的流行 JavaScript 运行时环境。在这四个漏洞中,其中三个是“中危”级别,一个是“低危”级别,均在12.x、14.x 和16.x 版本中修复。
Node.js 发布安全公告称,第一个漏洞 (CVE-2021-44531) 是因对 URI Subject Alternative Names (SAN) 的不当处理造成的。接受任意 SAN 类型,除非PKI 被制定使用特殊的 SAN 类型,则可导致限制名称的中间体遭绕过。Node.js 接受 URI SAN 类型,而PKI 通常无法使用这些类型。另外,当协议允许 URI SANs 时,Node.js 不会正确匹配 URI。
该漏洞由谷歌研究团队报告,已通过在检查证书的主机名过程中禁用 URI SAN 类型的方式在Node.js 的新版本中修复。博客指出,该行为可通过命令行选项 –security-revert 还原。
第二个漏洞 (CVE-2021-44532) 是通过字符串注入bug的证书认证绕过漏洞。当 Node.js 将 SANs 还原为字符串格式时,会在验证连接时使用该字符串检查同等证书中的主机名问题。当证书链中使用了名称限制时会触发触发字符串格式中的注入漏洞,导致这些名称限制被绕过。
该漏洞同样由谷歌报告,目前已修复。新版本逃逸了包含有问题字符的SANs,从而阻止注入漏洞。该行为可通过命令行选项 –security-revert 还原。
第三个漏洞同样由谷歌报告,和不正确地处理证书主题和发布人字段有关 (CVE-2021-44533)。
文章解释称,Node.js 未正确处理多值 Relative Distinguished Names,“攻击者可构造包含单值 Relative Distinguished Name 的被解释为多值Relative Distinguished Name 的证书主题,注入 Common Name,从而绕过证书主题验证“。然而,受影响的 Node.js 并不接受多值 Relative Distinguished Names,因此不受此类攻击影响。然而,开发人员提醒称,使用 Node.js 的证书主题有歧义表示的第三方代码可能受影响。
Node.js 修复的第四个漏洞是低危漏洞 (CVE-2022-21824),可导致攻击者通过 console.table 属性污染原型。鉴于Console.table() 函数的格式化逻辑,以下做法并不安全:允许受用户控制的输入被传递给属性参数,同时将具有至少一个属性的对象当作第一个参数 (_proto_) 进行传递。
该原型污染漏洞产生的影响有限,因为它仅允许将空白字符串分配给对象原型的数字键。
Node.js 最新版本为得到这些属性分配的对象使用了 null 属性,修复该漏洞。
所有这些漏洞均已在 Node.js 版本12.x、14.x、16.x 和17.x 中修复。
https://portswigger.net/daily-swig/multiple-node-js-vulnerabilities-fixed-in-flurry-of-new-releases
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~
原文始发于微信公众号(代码卫士):Node.js 修复4个漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论