CVE-2026-21710

HighCVSS 7.5/10Last modified Aug 19, 2026

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

Metrics

CVSS 3.1 7.5/10CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Weakness enumeration

Affected software

VendorProductVersions
nodejsnode>= 20.20.1, <= 20.20.1; >= 22.22.1, <= 22.22.1; >= 24.14.0, <= 24.14.0; >= 25.8.1, <= 25.8.1; >= 4.0, < 4.*; >= 5.0, < 5.*; >= 6.0, < 6.*; >= 7.0, < 7.*; >= 8.0, < 8.*; >= 9.0, < 9.*; >= 10.0, < 10.*; >= 11.0, < 11.*; >= 12.0, < 12.*; >= 13.0, < 13.*; >= 14.0, < 14.*; >= 15.0, < 15.*; >= 16.0, < 16.*; >= 17.0, < 17.*; >= 18.0, < 18.*; >= 19.0, < 19.*
Red HatRed Hat Enterprise Linux 10—
Red HatRed Hat Enterprise Linux 10—
Red HatRed Hat Enterprise Linux 10.0 Extended Update Support—
Red HatRed Hat Enterprise Linux 8—
Red HatRed Hat Enterprise Linux 8—
Red HatRed Hat Enterprise Linux 8—
Red HatRed Hat Enterprise Linux 9—
Red HatRed Hat Enterprise Linux 9—
Red HatRed Hat Enterprise Linux 9—
Red HatRed Hat Enterprise Linux 9.4 Extended Update Support—
Red HatRed Hat Enterprise Linux 9.6 Extended Update Support—
Red HatRed Hat Enterprise Linux 9.6 Extended Update Support—

References

Timeline

Published
Mar 30, 2026
Last modified
Aug 19, 2026
NVD status
Analyzed

Related CVEs from 2026

CVE-2026-217115.3A flaw in Node.js Permission Model network enforcement leaves Unix Domain Socket (UDS) server operations without the required permission cheCVE-2026-217126.5A flaw in Node.js URL processing causes an assertion failure in native code when `url.format()` is called with a malformed internationalizedCVE-2026-217135.9A flaw in Node.js HMAC verification uses a non-constant-time comparison when validating user-provided signatures, potentially leaking timingCVE-2026-217145.3A memory leak occurs in Node.js HTTP/2 servers when a client sends WINDOW_UPDATE frames on stream 0 (connection-level) that cause the flow cCVE-2026-217153.3A flaw in Node.js Permission Model filesystem enforcement leaves `fs.realpathSync.native()` without the required read permission checks, whiCVE-2026-217163.3An incomplete fix for CVE-2024-36137 leaves `FileHandle.chmod()` and `FileHandle.chown()` in the promises API without the required permissioCVE-2026-217175.9A flaw in V8's string hashing mechanism causes integer-like strings to be hashed to their numeric value, making hash collisions trivially prCVE-2026-217189.8An authentication bypass vulnerability exists in Copeland XWEB Pro version 1.12.1 and prior, enabling any attackers to bypass the authentiCVE-2026-217198.6An OS command injection vulnerability exists in CubeCart prior to 6.6.0, which may allow a user with an administrative privilege to execute CVE-2026-21729.8A vulnerability was determined in code-projects Online Application System for Admission 1.0. Affected by this vulnerability is an unknown fuCVE-2026-217207.5Every uncached /avatar/:hash request spawns a goroutine that refreshes the Gravatar image. If the refresh sits in the 10-slot worker queue lCVE-2026-217218.1The dashboard permissions API does not verify the target dashboard scope and only checks the dashboards.permissions:* action. As a result, a
CVE-2026-21710: High severity, CVSS 7.5 | Vulnix