CVE-2026-21710

HIGHCVSS 7.5/10EPSS 26.36%

Last modified

CVE-2026-21710 is a high-severity vulnerability rated 7.5/10 on the CVSS scale. 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**. EPSS estimates a 26.36% chance of exploitation in the next 30 days.

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**

Metrics

CVSS 3.1
7.5/10

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

CVSS 3.0
7.5/10

CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

EPSS Probability
26.36%

97.8th percentile

Probability of exploitation in the next 30 days. Learn more

Weakness Enumeration

Affected Software

Source: CNA advisory (CVE.org). NVD analysis pending.

VendorProductVersions
nodejsnode>= 20.20.1, <= 20.20.1; >= 22.22.1, <= 22.22.1; >= 24.14.0, <= 24.14.0; >= 25.8.1, <= 25.8.1; >= 4.0, < 4.*; >= 5.0, < 5.*; >= 6.0, < 6.*; >= 7.0, < 7.*; >= 8.0, < 8.*; >= 9.0, < 9.*; >= 10.0, < 10.*; >= 11.0, < 11.*; >= 12.0, < 12.*; >= 13.0, < 13.*; >= 14.0, < 14.*; >= 15.0, < 15.*; >= 16.0, < 16.*; >= 17.0, < 17.*; >= 18.0, < 18.*; >= 19.0, < 19.*

References

Timeline

Published
Last Modified
Status
Awaiting Analysis

Frequently Asked Questions

What is CVE-2026-21710?
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 severe is CVE-2026-21710?
CVE-2026-21710 has a CVSS score of 7.5/10 (HIGH severity). The EPSS model estimates a 26.36% probability of exploitation in the next 30 days.
How do I fix CVE-2026-21710?
Check the vendor references and advisories linked above for patched versions and mitigation guidance. You can also run a Strix scan to test if your systems are affected.

How Strix Helps

Related CVEs from 2026

Are you affected by CVE-2026-21710?

Run a free Strix scan to check your systems for this vulnerability.

Scan your code now

Source: NVD / NIST