CVE-2026-21710
Published: 30 March 2026
Summary
CVE-2026-21710 is a high-severity Allocation of Resources Without Limits or Throttling (CWE-770) vulnerability in Nodejs (inferred from references). Its CVSS base score is 7.5 (High).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked in the top 2.2% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified are NIST 800-53 SI-10 (Information Input Validation) and SI-11 (Error Handling).
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-17170
Vulnerability details
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…
more
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**
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise TechniquesAI
Why these techniques?
CWE-770 DoS via unhandled exception on crafted HTTP header in public Node.js servers directly enables T1190 exploitation and T1499.004 application exploitation for endpoint DoS.
Affected Assets
Mitigating Controls
Mitigating Controls (NIST 800-53 r5) AI
Directly requires proper error handling so that the uncaught TypeError from req.headersDistinct on a __proto__ header does not crash the HTTP server.
Requires validation and sanitization of HTTP header names to reject or neutralize dangerous values such as __proto__ before they reach Node.js header processing.
Boundary-protection mechanisms (e.g., WAF rules or header filters) can block requests containing the malicious __proto__ header before they reach the vulnerable Node.js listener.
Hardening callouts derived
Configuration rules from DISA STIG baselines that reduce the attack surface for weaknesses of the type cited by this CVE. Derived transitively via CVE→CWE→STIG over `controls_xwalks` (authoritative rows only).
Oracle Linux 8 (2 rules)
- V-248552 OL 8 must be configured so that all network connections associated with SSH traffic terminate after becoming unresponsive. via CWE-770
- V-248553 OL 8 must be configured so that all network connections associated with SSH traffic are terminated after 10 minutes of becoming unresponsive. via CWE-770
Oracle Linux 9 (2 rules)
- V-271710 OL 9 must be configured so that all network connections associated with SSH traffic are terminated after 10 minutes of becoming unresponsive. via CWE-770
- V-271709 OL 9 must be configured so that all network connections associated with SSH traffic terminate after becoming unresponsive. via CWE-770
RHEL 8 (1 rule)
- V-230244 RHEL 8 must be configured so that all network connections associated with SSH traffic terminate after becoming unresponsive. via CWE-770