CVE-2026-21710
Analyzed
Analyzed - Analysis Complete
TypeError Vulnerability in Node.js HTTP Header Handling Causes Crashes
Vulnerability report for CVE-2026-21710, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.
Publication date: 2026-03-30
Last updated on: 2026-08-19
Assigner: HackerOne
Description
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**
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| nodejs | node.js | From 24.0.0 (inc) to 24.14.0 (inc) |
| nodejs | node.js | From 25.0.0 (inc) to 25.8.1 (inc) |
| nodejs | node.js | to 20.20.1 (inc) |
| nodejs | node.js | From 22.0.0 (inc) to 22.22.1 (inc) |
| redhat | enterprise_linux | 8.0 |
| redhat | enterprise_linux | 9.0 |
| redhat | enterprise_linux_eus | 9.4 |
| redhat | enterprise_linux | 10.0 |
| redhat | enterprise_linux_eus | 9.6 |
| redhat | enterprise_linux_eus | 10.0 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-843 | The product allocates or initializes a resource such as a pointer, object, or variable using one type, but it later accesses that resource using a type that is incompatible with the original type. |
| CWE-770 | The product allocates a reusable resource or group of resources on behalf of an actor without imposing any intended restrictions on the size or number of resources that can be allocated. |