CVE Catalog

CVE-2026-21710

HighCVSS 7.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Very high risk
26.36%

98th percentile - higher than 98% of all known CVEs

Summary

A flaw in Node.js HTTP request handling causes an uncaught TypeError when a request with a header named __proto__ is received and the application accesses req.headersDistinct. The exception is thrown synchronously inside a property getter and cannot be intercepted by error event listeners.

Risk Assessment

An attacker can send a crafted HTTP request with a __proto__ header, causing a Node.js server crash (DoS) because the exception cannot be handled without wrapping every req.headersDistinct access in a try/catch.

Recommendation

Immediately update Node.js to the patched version for branches 20.x, 22.x, 24.x, and 25.x. Until the update, wrap req.headersDistinct access in a try/catch block or filter out headers named __proto__.

Original NVD description (English source)

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

Vulnerability data from NVD (NIST) · CISA KEV · EPSS