7.5
High
CVE-2026-21710 A flaw in Node.js HTTP request handling causes an uncaught `TypeError` when a request is received with a header named…
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**
Affected products and versions
| Product | Affected versions | Fixed in |
|---|---|---|
| Node | 25.8.1 | No fix stated |
| Node | 24.14.0 | No fix stated |
| Node | 22.22.1 | No fix stated |
| Node | 20.20.1 | No fix stated |
| Node 19.0 | 19.0 → latest | No fix stated |
| Node 18.0 | 18.0 → latest | No fix stated |
| Node 17.0 | 17.0 → latest | No fix stated |
| Node 16.0 | 16.0 → latest | No fix stated |
| Node 15.0 | 15.0 → latest | No fix stated |
Show the 23 other branches Hide the 23 other branches
| Product | Affected versions | Fixed in |
|---|---|---|
| Node 14.0 | 14.0 → latest | No fix stated |
| Node 13.0 | 13.0 → latest | No fix stated |
| Node 12.0 | 12.0 → latest | No fix stated |
| Node 11.0 | 11.0 → latest | No fix stated |
| Node 10.0 | 10.0 → latest | No fix stated |
| Node 9.0 | 9.0 → latest | No fix stated |
| Node 8.0 | 8.0 → latest | No fix stated |
| Node 7.0 | 7.0 → latest | No fix stated |
| Node 6.0 | 6.0 → latest | No fix stated |
| Node 5.0 | 5.0 → latest | No fix stated |
| Node 4.0 | 4.0 → latest | No fix stated |
| Red Hat Enterprise Linux AppStream EUS (v. 10.0) | Versions not published | |
| Red Hat Enterprise Linux AppStream (v. 10) | Versions not published | |
| Red Hat Enterprise Linux AppStream (v. 8) | Versions not published | |
| Red Hat Enterprise Linux AppStream EUS (v.9.4) | Versions not published | |
| Red Hat Enterprise Linux AppStream EUS (v.9.6) | Versions not published | |
| Red Hat Enterprise Linux AppStream (v. 9) | Versions not published | |
| Red Hat Enterprise Linux 10 | Versions not published | |
| Red Hat Enterprise Linux 10.0 Extended Update Support | Versions not published | |
| Red Hat Enterprise Linux 8 8100020260414073138.489197 | earliest → < 8100020260414073138.489197e6 | 8100020260414073138.489197e6 |
| Red Hat Enterprise Linux 9 9070020260409073121 | earliest → < 9070020260409073121.rhel9 | 9070020260409073121.rhel9 |
| Red Hat Enterprise Linux 9.4 Extended Update Support 9040020260421133644 | earliest → < 9040020260421133644.rhel9 | 9040020260421133644.rhel9 |
| Red Hat Enterprise Linux 9.6 Extended Update Support 9060020260422064119 | earliest → < 9060020260422064119.rhel9 | 9060020260422064119.rhel9 |
References
- nodejs.org nodejs.org
Timeline
- Published
- Last modified
Other CVEs of Node
The 129 CVEs of Node →
CVE-2026-105482
A flaw in Node.js DNS resolution allows hostnames containing a NUL byte to be silently truncated by the dns.resolve*()…
7.4
High
CVE-2026-106069
A flaw in Node.js TLS hostname verification can cause a server certificate to be validated against a different IP…
7.4
High
CVE-2026-106070
A flaw in the Node.js `zlib.ZipFile` API can cause it to return bytes that do not belong to the requested entry after…
3.7
Low
CVE-2026-106074
A flaw in Node.js `crypto` causes the internal entropy caches used by `crypto.randomUUID()`, `crypto.randomUUIDv7()`,…
4.8
Medium