CVE-2025-59465Node.js 存在一个拒绝服务漏洞,当处理畸形的 HTTP/2 HEADERS 帧时,携带过大且无效的 HPACK 数据会触发未处理的 TLSSocket 错误 (ECONNRESET),导致 Node.js 进程崩溃。与安全关闭连接不同,进程直接崩溃,从而实现远程拒绝服务攻击。此漏洞主要影响未对安全套接字附加显式错误处理器的应用程序。攻击者无需认证即可远程利用此漏洞,可导致受影响服务不可用。CVSS 评分 7.5,属于高危漏洞。
漏洞根源在于 Node.js 的 HTTP/2 实现对 HPACK 数据的验证不足。当接收到包含超大无效 HPACK 数据的 HEADERS 帧时,会触发 TLSSocket 的 ECONNRESET 错误。由于应用程序未正确处理此错误,导致 Node.js 进程崩溃而非优雅关闭连接。攻击者可通过发送特制的 HTTP/2 请求包来触发此条件。受影响的应用通常是那些在 secureConnection 事件中未对 socket 添加 error 事件监听器的应用。修复方案需要在 TLSSocket 上添加适当的错误处理,或升级到包含修复的 Node.js 版本。