CVE-2026-21717CVE-2026-21717 是 Node.js 中存在的一个中危漏洞,其根源在于 V8 引擎的字符串哈希机制缺陷。该缺陷使得类整数字符串的哈希值可被预测,极易发生哈希冲突。攻击者可通过构造包含大量此类冲突字符串的恶意 JSON 数据,发送给调用 JSON.parse() 的接口,从而触发 Node.js 内部哈希表性能退化。这将导致服务器 CPU 资源被大量占用,显著降低进程性能,甚至造成服务拒绝。该漏洞影响了 Node.js 的 20.x、22.x、24.x 和 25.x 版本。
该漏洞利用了 V8 引擎内部字符串表处理类整数字符串时的逻辑缺陷。V8 在哈希类整数字符串时,直接使用其数值作为哈希基础,导致攻击者可以构造大量哈希值相同的字符串。当 Node.js 应用程序解析攻击者控制的 JSON 输入时,`JSON.parse()` 会将这些字符串插入到内部的哈希表中。由于哈希冲突极其严重,哈希表的操作复杂度从理想的 O(1) 退化为 O(n)。攻击者只需发送一个包含大量恶意键值对的 HTTP 请求,无需用户交互,即可触发指数级的计算量增长,瞬间耗尽 CPU 资源,导致服务瘫痪。