2022年9月23日安全更新

2022年9月23日安全更新

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

内容提要

Node.js发布了针对多个安全漏洞的更新,包括CVE-2022-35255和CVE-2022-32212。用户需重新生成WebCrypto密钥,并评估加密数据的机密性。更新将于2022年9月22日发布,涵盖14.x、16.x和18.x版本的中高危问题。

🔎

延伸解读

WebCrypto密钥需重新生成

安全更新指出,使用WebCrypto.subtle.generateKey()生成的密钥可能存在安全风险。用户应重新生成所有此类密钥,并重新评估使用这些密钥加密的数据的机密性。这是因为EntropySource()可能失败,而Node.js未检查其返回值,导致密钥生成可能不安全。

macOS上的DNS重绑定绕过风险

CVE-2022-32212的修复覆盖了可路由IP地址,但在macOS设备上处理http://0.0.0.0 URL时存在特定行为。攻击者控制的DNS服务器可以将<Computer Name>.local解析为任意IP地址,从而绕过DNS重绑定保护,使受害者浏览器加载任意内容。

HTTP请求走私漏洞影响多个版本

由于CVE-2022-32215修复不完整,Node.js v16.16.0和18.7.0中的llhttp解析器仍无法正确处理多行Transfer-Encoding头,可能导致HTTP请求走私。此外,CVE-2022-32213的修复可被obs-fold绕过,当Node.js HTTP模块用作代理时,可能错误解析Transfer-Encoding头,导致请求走私。

OpenSSL配置读取问题

在Node.js 18及更高版本中,启动时进程会尝试读取macOS上不存在的/home/iojs/build/ws/out/Release/obj.target/deps/openssl/openssl.cnf文件。攻击者若能在共享macOS主机上使用自选用户名(iojs),可能影响其他用户的OpenSSL配置。

❓

Q&A

Node.js的最新安全更新主要解决了哪些漏洞?

最新安全更新主要解决了CVE-2022-35255和CVE-2022-32212等多个漏洞。

用户在更新后需要采取哪些措施?

用户需重新生成使用WebCrypto.subtle.generateKey()生成的密钥,并评估加密数据的机密性。

此次更新适用于哪些Node.js版本?

此次更新适用于Node.js的14.x、16.x和18.x版本。

CVE-2022-32212漏洞的具体影响是什么?

CVE-2022-32212在macOS设备上处理http://0.0.0.0 URL时,允许攻击者绕过DNS重绑定保护。

Node.js的llhttp解析器存在什么问题?

llhttp解析器在Node.js v16.16.0和18.7.0中未正确处理多行Transfer-Encoding头,可能导致HTTP请求走私。

Node.js安全团队为何需要额外的工作时间?

Node.js安全团队需要额外一天的工作以确保二进制文件准备就绪,更新计划于2022年9月23日发布。

🏷️

标签

➡️

继续阅读