内容提要
Node.js v10.x、v12.x、v14.x 和 v15.x 存在多个安全漏洞,包括拒绝服务攻击和 DNS 重新绑定攻击,攻击者可利用这些漏洞导致文件描述符泄漏和内存耗尽。感谢 OMICRON 电子和 Vít Šesták 报告这些问题。
延伸解读
漏洞影响范围与版本
本次安全更新涉及 Node.js v10.x、v12.x、v14.x 和 v15.x 四个发布线。这些版本均存在拒绝服务攻击和 DNS 重新绑定攻击漏洞。使用上述版本的用户应尽快升级到修复版本,以避免潜在风险。
拒绝服务攻击的机制与后果
攻击者通过大量使用 'unknownProtocol' 的连接尝试,导致文件描述符泄漏。若系统配置文件描述符限制,服务器将无法接受新连接,甚至无法打开文件;若未配置限制,则可能耗尽系统内存。这种攻击可造成服务不可用或系统崩溃。
DNS 重新绑定攻击的触发条件
当白名单包含 'localhost6' 时,若 /etc/hosts 中未定义该域名,它会被解析为普通 DNS 域名。攻击者控制受害者 DNS 服务器或欺骗响应时,可利用 'localhost6' 绕过 DNS 重新绑定保护,进而实施 CVE-2018-7160 中描述的攻擊。
OpenSSL 相关漏洞的关联
文章还提及一个 OpenSSL 漏洞可能通过 Node.js 被利用,并提供了 OpenSSL 安全公告链接。虽然未详细说明,但用户应关注 OpenSSL 的更新,以确保 Node.js 环境的安全。
Q&A
Node.js 的哪些版本存在安全漏洞?
Node.js v10.x、v12.x、v14.x 和 v15.x 存在多个安全漏洞。
这些安全漏洞可能导致什么后果?
这些漏洞可能导致文件描述符泄漏和内存耗尽。
拒绝服务攻击是如何影响 Node.js 的?
拒绝服务攻击会导致文件描述符泄漏,若配置了限制,服务器无法接受新连接。
DNS 重新绑定攻击是如何发生的?
当白名单包含 'localhost6' 且攻击者控制受害者的 DNS 服务器时,DNS 重新绑定保护可以被绕过。
如果没有配置文件描述符限制,会发生什么?
如果没有配置文件描述符限制,可能导致系统内存耗尽。
谁报告了这些安全漏洞?
OMICRON 电子和 Vít Šesták 报告了这些安全漏洞。