2022年1月10日安全更新

2022年1月10日安全更新

💡 原文英文,约600词,阅读约需3分钟。
📝

内容提要

Node.js的v12.x、v14.x、v16.x和v17.x版本发布了更新,修复了多个安全漏洞,特别是针对证书验证中主题替代名称(SAN)处理不当的问题。修复后,Node.js在检查证书时禁用了URI SAN类型,以防止注入攻击。新版本将于2022年1月10日发布,用户可通过命令行选项恢复旧行为。

🔎

延伸解读

证书验证漏洞的潜在风险

文章指出,Node.js 在证书验证中错误地接受了 URI SAN 类型,且未正确匹配 URI,可能导致绕过名称约束。此外,SAN 字符串格式存在注入漏洞,攻击者可能利用特制证书绕过名称约束。这些漏洞影响所有受支持的版本,可能被用于中间人攻击或身份伪造,用户应尽快更新。

多值相对区分名称的处理问题

Node.js 未能正确处理多值相对区分名称,攻击者可构造证书主题,将单值相对区分名称解释为多值,从而注入通用名称绕过主题验证。虽然 Node.js 自身不受影响,但依赖其证书主题呈现的第三方代码可能易受攻击。开发者需检查相关代码,确保安全。

console.table 原型污染漏洞

console.table() 函数存在原型污染漏洞,当用户控制输入传递给 properties 参数且第一个参数为普通对象时,可能将空字符串赋值给对象原型的数字键。尽管控制有限,但仍可能被利用。修复版本使用空原型对象,建议开发者避免将用户输入直接用于该函数。

更新与缓解措施

Node.js 计划于 2022 年 1 月 10 日或之后发布 12.x、14.x、16.x 和 17.x 的新版本,修复三个中危和一个低危漏洞。用户可通过 --security-revert 命令行选项恢复旧行为,但出于安全考虑,建议尽快升级到修复版本,并关注 CVE 详情以评估影响。

❓

Q&A

Node.js的更新修复了哪些安全漏洞?

Node.js的更新修复了多个安全漏洞,特别是针对证书验证中主题替代名称(SAN)处理不当的问题。

如何恢复Node.js的旧行为?

用户可以通过命令行选项--security-revert来恢复Node.js的旧行为。

Node.js在证书检查中做了哪些改进?

Node.js在检查证书时禁用了URI SAN类型,以防止注入攻击,并修复了对SAN字符串格式的注入漏洞。

Node.js的各个版本存在什么样的安全问题?

Node.js的各个版本均存在中等和低严重性的问题,更新将解决这些问题。

Node.js如何防止证书主题验证的绕过?

Node.js不再接受多值相对区分名称,防止攻击者利用此漏洞绕过证书主题验证。

新版本的Node.js何时发布?

新版本的Node.js将于2022年1月10日发布。

🏷️

标签

➡️

继续阅读