CVE-2026-21710
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**
How to fix
- access.redhat.com/errata/RHSA-2026:7310
- access.redhat.com/errata/RHSA-2026:7080
- access.redhat.com/errata/RHSA-2026:7675
- access.redhat.com/errata/RHSA-2026:8339
- access.redhat.com/errata/RHSA-2026:7123
- access.redhat.com/errata/RHSA-2026:7670
- access.redhat.com/errata/RHSA-2026:9711
- access.redhat.com/errata/RHSA-2026:9874
- access.redhat.com/errata/RHSA-2026:7983
- access.redhat.com/errata/RHSA-2026:7896
- access.redhat.com/errata/RHSA-2026:7302
- access.redhat.com/errata/RHSA-2026:7350
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| nodejs node.js | v ≤ 20.20.1, 22.0.0 ≤ v ≤ 22.22.1, 24.0.0 ≤ v ≤ 24.14.0, 25.0.0 ≤ v ≤ 25.8.1 | — |
| redhat enterprise_linux | 8.0, 9.0, 10.0 | — |
| redhat enterprise_linux_eus | 9.4, 9.6, 10.0 | — |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.