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**
Analysis and contextual insights are available on OpenCVE Cloud.
No vendor fix or workaround currently provided.
Additional remediation guidance may be available on OpenCVE Cloud.
Tracking
Sign in to view the affected projects.
| Source | ID | Title |
|---|---|---|
Debian DSA |
DSA-6183-1 | nodejs security update |
Debian DSA |
DSA-6272-1 | nodejs security update |
Wed, 01 Apr 2026 02:15:00 +0000
| 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
|
cvssV3_1
|
Tue, 31 Mar 2026 14:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Weaknesses | CWE-770 | |
| Metrics |
ssvc
|
Tue, 31 Mar 2026 03:00:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Title | Unhandled TypeError from __proto__ Header in Node.js HTTP Request Handling | |
| Weaknesses | CWE-20 |
Mon, 30 Mar 2026 19:30:00 +0000
| 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
|
Status: PUBLISHED
Assigner: hackerone
Published:
Updated: 2026-03-31T13:55:23.719Z
Reserved: 2026-01-04T15:00:06.574Z
Link: CVE-2026-21710
Updated: 2026-03-31T13:55:13.442Z
Status : Awaiting Analysis
Published: 2026-03-30T20:16:18.210
Modified: 2026-04-01T14:24:21.833
Link: CVE-2026-21710
OpenCVE Enrichment
Updated: 2026-04-02T07:54:00Z
Debian DSA