CVE-2026-21710CWE-770CWE-843denial-of-service

CVE-2026-21710

High · published March 31, 2026

CVSS v3.1
7.5
EPSS
25%
Percentile
97.9
In the wild
Unconfirmed
What it is

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

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.25044 · 97.9th percentile
Weaknesses
CWE-770 · Allocation of Resources Without Limits or Throttling; CWE-843 · Access of Resource Using Incompatible Type ('Type Confusion')
Published
2026-03-31T00:16Z
Affected products (10)
ProductVersionsFixed in
nodejs/node.js≤ 20.20.1—
nodejs/node.js≥ 22.0.0, ≤ 22.22.1—
nodejs/node.js≥ 24.0.0, ≤ 24.14.0—
nodejs/node.js≥ 25.0.0, ≤ 25.8.1—
redhat/enterprise_linuxall versions—
redhat/enterprise_linuxall versions—
redhat/enterprise_linuxall versions—
redhat/enterprise_linux_eusall versions—
redhat/enterprise_linux_eusall versions—
redhat/enterprise_linux_eusall versions—
References (16)
EPSS history
Timeline
  • 30 MAR 19:07Z
    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…
    cvelistv5