Lack of data validation - Type confusion In nodejs
Description
A flaw in Node.js HTTP request handling causes an uncaught TypeError when a request is received with a header named __proto__ and the application accesses req.headersDistinct.
When this occurs, dest["__proto__"] resolves to Object.prototype rather than undefined, causing .push() to be called on a non-array. This exception is thrown synchronously inside a property getter and cannot be intercepted by error event listeners, meaning it cannot be handled without wrapping every req.headersDistinct access in a try/catch.
This vulnerability affects all Node.js HTTP servers on 20.x, 22.x, 24.x, and v25.x
Mitigation
Update Impact
Minimal update. May introduce new vulnerabilities or breaking changes.
Ecosystem | Component | Affected version | Patched versions |
|---|---|---|---|
alpine v3.21 | 22.22.2-r0 | ||
debian 12 | 18.20.4+dfsg-1~deb12u2 | ||
debian 13 | 20.19.2+dfsg-1+deb13u2 | ||
debian 14 | 22.22.2+dfsg+~cs22.19.15-1 | ||
alpine v3.22 | 22.22.2-r0 | ||
alpine v3.23 | 24.14.1-r0 | ||
rpm rhel8 | 1:20.20.2-1.module+el8.10.0+24197+1602b452 | ||
rpm rhel9 | 1:20.20.2-1.module+el9.7.0+24193+41b7b572 | ||
rpm rhel10 | 1:22.22.2-1.el10_1 | ||
rpm rhel10 | 1:24.14.1-2.el10_1 |
1-10 of 15
10
Aliases
References