Description
A flaw in V8's string hashing mechanism causes integer-like strings to be hashed to their numeric value, making hash collisions trivially predictable. By crafting a request that causes many such collisions in V8's internal string table, an attacker can significantly degrade performance of the Node.js process. The most common trigger is any endpoint that calls `JSON.parse()` on attacker-controlled input, as JSON parsing automatically internalizes short strings into the affected hash table. This vulnerability affects **20.x, 22.x, 24.x, and 25.x**.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
nodejs node
Default version status: unaffected
20.20.1 to ≤ 20.20.1affected22.22.1 to ≤ 22.22.1affected24.14.0 to ≤ 24.14.0affected25.8.1 to ≤ 25.8.1affected4.0 to < 4.*affected5.0 to < 5.*affected6.0 to < 6.*affected7.0 to < 7.*affected8.0 to < 8.*affected9.0 to < 9.*affected10.0 to < 10.*affected11.0 to < 11.*affected12.0 to < 12.*affected13.0 to < 13.*affected14.0 to < 14.*affected15.0 to < 15.*affected16.0 to < 16.*affected17.0 to < 17.*affected18.0 to < 18.*affected19.0 to < 19.*affected