| Name | CVE-2026-21710 |
| 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** |
| Source | CVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
| References | DSA-6183-1, DSA-6272-1 |
The table below lists information on source packages.
| Source Package | Release | Version | Status |
|---|---|---|---|
| nodejs (PTS) | bullseye | 12.22.12~dfsg-1~deb11u4 | fixed |
| bullseye (security) | 12.22.12~dfsg-1~deb11u8 | fixed | |
| bookworm | 18.20.4+dfsg-1~deb12u1 | vulnerable | |
| bookworm (security) | 18.20.4+dfsg-1~deb12u2 | fixed | |
| trixie (security), trixie | 20.19.2+dfsg-1+deb13u2 | fixed | |
| forky, sid | 24.15.0+dfsg+~cs24.12.2-1 | fixed |
The information below is based on the following data on fixed versions.
| Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
|---|---|---|---|---|---|---|
| nodejs | source | bullseye | (not affected) | |||
| nodejs | source | bookworm | 18.20.4+dfsg-1~deb12u2 | DSA-6272-1 | ||
| nodejs | source | trixie | 20.19.2+dfsg-1+deb13u2 | DSA-6183-1 | ||
| nodejs | source | (unstable) | 22.22.2+dfsg+~cs22.19.15-1 |
[bullseye] - nodejs <not-affected> (vulnerable code introduced in v18.3.0)
https://nodejs.org/en/blog/vulnerability/march-2026-security-releases#denial-of-service-via-__proto__-header-name-in-reqheadersdistinct-uncaught-typeerror-crashes-nodejs-process-cve-2026-21710---high
Fixed by: https://github.com/nodejs/node/commit/00ad47a28eb2e3dc0ff5610d58c53341acf3cf8d (v20.20.2)
Introduced by https://github.com/nodejs/node/commit/9539cfa35817ea3ad61eccd2ed0572cc5c449d03 (v18.3.0)