Home

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

PUBLISHED Reserved 2026-01-04 | Published 2026-03-30 | Updated 2026-03-31 | Assigner hackerone




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

Product status

Default status
unaffected

20.20.1 (semver)
affected

22.22.1 (semver)
affected

24.14.0 (semver)
affected

25.8.1 (semver)
affected

4.0 (semver) before 4.*
affected

5.0 (semver) before 5.*
affected

6.0 (semver) before 6.*
affected

7.0 (semver) before 7.*
affected

8.0 (semver) before 8.*
affected

9.0 (semver) before 9.*
affected

10.0 (semver) before 10.*
affected

11.0 (semver) before 11.*
affected

12.0 (semver) before 12.*
affected

13.0 (semver) before 13.*
affected

14.0 (semver) before 14.*
affected

15.0 (semver) before 15.*
affected

16.0 (semver) before 16.*
affected

17.0 (semver) before 17.*
affected

18.0 (semver) before 18.*
affected

19.0 (semver) before 19.*
affected

References

nodejs.org/...log/vulnerability/march-2026-security-releases

cve.org (CVE-2026-21710)

nvd.nist.gov (CVE-2026-21710)

Download JSON