CVE-2026-21710

Node.js: Node.js: Denial of Service due to crafted HTTP `__proto__` header

Published Mar 30, 2026 CVSS 3.1 · 7.5 High EPSS 25.4% KEV · Not listed
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**

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Debian DSA Debian DSA DSA-6183-1 nodejs security update
Debian DSA Debian DSA DSA-6272-1 nodejs security update
History
Type Values Removed Values Added
First Time appeared Nodejs node.js
Redhat
Redhat enterprise Linux
Redhat enterprise Linux Eus
CPEs cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:*
cpe:2.3:o:redhat:enterprise_linux:10.0:*:*:*:*:*:*:*
cpe:2.3:o:redhat:enterprise_linux:8.0:*:*:*:*:*:*:*
cpe:2.3:o:redhat:enterprise_linux:9.0:*:*:*:*:*:*:*
cpe:2.3:o:redhat:enterprise_linux_eus:10.0:*:*:*:*:*:*:*
cpe:2.3:o:redhat:enterprise_linux_eus:9.4:*:*:*:*:*:*:*
cpe:2.3:o:redhat:enterprise_linux_eus:9.6:*:*:*:*:*:*:*
Vendors & Products Nodejs node.js
Redhat
Redhat enterprise Linux
Redhat enterprise Linux Eus
Type Values Removed Values Added
Title Unhandled TypeError from __proto__ Header in Node.js HTTP Request Handling Node.js: Node.js: Denial of Service due to crafted HTTP `__proto__` header
First Time appeared Nodejs
Nodejs nodejs
Weaknesses CWE-20 CWE-843
Vendors & Products Nodejs
Nodejs nodejs
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Important

Type Values Removed Values Added
Weaknesses CWE-770
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Title Unhandled TypeError from __proto__ Header in Node.js HTTP Request Handling
Weaknesses CWE-20
Type Values Removed Values Added
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**
References
Metrics cvssV3_0

{'score': 7.5, 'vector': 'CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
hackerone
Published
Updated
Jul 15, 2026, 1:19 AM
Reserved
Jan 4, 2026, 3:00 PM
Status
Analyzed
Published
Mar 30, 2026, 8:16 PM
Modified
Aug 19, 2026, 2:32 PM
Severity
Important
Public date
Mar 30, 2026, 7:07 PM