Skip to main content
← All vulnerabilities
CVE-2026-21710

A flaw in Node.js HTTP request handling causes an uncaught `TypeError` when a request is received with a header named `__proto__` and the ap

Published
Last modified
published
Not listed in CISA KEV
1 proof of concept on GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

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

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated
  4. EPSS reached 10%

    FIRST estimates at least a 10% chance of exploitation in the next 30 days

Affected versions

  • nodejs node

    From 20.20.1 · through 20.20.1; From 22.22.1 · through 22.22.1; From 24.14.0 · through 24.14.0; From 25.8.1 · through 25.8.1; From 4.0; From 5.0; From 6.0; From 7.0; From 8.0; From 9.0; From 10.0; From 11.0; From 12.0; From 13.0; From 14.0; From 15.0; From 16.0; From 17.0; From 18.0; From 19.0

References 2

nodejs.org

GitHub · open-flaw/CVE-2026-21710