CVE-2026-21710: A flaw in Node.js HTTP request handling causes an uncaught `TypeError` when a request is received with a he...
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**
Security readout for executives and security teams
Plain-English summary
A malformed HTTP request can crash affected Node.js servers when the application reads a specific request-header property. The impact is availability loss, not data theft. Public sources rate this high because it is network-reachable, needs no authentication, and can stop service if the vulnerable code path is hit.
Executive priority
Prioritize patching exposed Node.js services because this is a high-severity denial-of-service risk with simple network reachability. Treat it below remote code execution, but above routine dependency cleanup for customer-facing services.
Technical view
Node.js HTTP handling can throw an uncaught synchronous TypeError when a header named __proto__ is present and application code accesses req.headersDistinct. The issue comes from prototype resolution causing push() to run on a non-array. The exception is not caught by ordinary error event listeners. CVSS is 7.5, availability-only.
Likely exposure
Most relevant exposure is internet-facing Node.js HTTP services on affected Node.js lines that read req.headersDistinct directly or through middleware. The provided record names Node.js 20.x, 22.x, 24.x, and v25.x HTTP servers, with additional version data requiring vendor confirmation.
Exploitation context
The bundle does not show CISA KEV listing or active exploitation evidence. The attack conditions are low complexity and unauthenticated over the network, but only applications reaching req.headersDistinct appear directly triggerable.
Researcher notes
Evidence supports a targeted availability bug in Node.js HTTP header handling. Version details in the supplied bundle are partially ambiguous, so use upstream Node.js and distributor advisories as authority for exact fixed and affected builds.
Mitigation direction
Apply the official Node.js March 2026 security releases where applicable.
For Red Hat builds, follow the linked RHSA advisories for package updates.
Inventory services using Node.js HTTP servers on the affected release lines.
Review code and dependencies for req.headersDistinct access.
Use temporary defensive try/catch only where vendor updating is blocked.
Validation and detection
Confirm deployed Node.js versions across production, CI, containers, and base images.
Check whether application or middleware reads req.headersDistinct.
Verify updated packages match Node.js or Red Hat advisory guidance.
Run regression tests for HTTP request handling after updating.
Monitor service crash logs for uncaught TypeError in header handling.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-770: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.