CVE-2026-21710
nodejs node
HIGH 7.5
En bref
- Source
- NVD
- EPSS
- EPSS 25.44 % · centile 98 ()
- État
- PUBLISHED
- Publiée
- Mise à jour
- Attribuée par
- hackerone
- Statut NVD
- Analyzed
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**
Faiblesses (CWE)
- CWE-770 — Allocation de ressources sans limite ni régulation
- CWE-843 — Confusion de type (accès à une ressource via un type incompatible)
Références
- https://nodejs.org/en/blog/vulnerability/march-2026-security-releases
- https://access.redhat.com/security/cve/CVE-2026-21710
- https://bugzilla.redhat.com/show_bug.cgi?id=2453151
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-21710.json
- https://access.redhat.com/errata/RHSA-2026:7310
- https://access.redhat.com/errata/RHSA-2026:7080
- https://access.redhat.com/errata/RHSA-2026:7675
- https://access.redhat.com/errata/RHSA-2026:8339
- https://access.redhat.com/errata/RHSA-2026:7123
- https://access.redhat.com/errata/RHSA-2026:7670
- https://access.redhat.com/errata/RHSA-2026:9711
- https://access.redhat.com/errata/RHSA-2026:9874
- https://access.redhat.com/errata/RHSA-2026:7983
- https://access.redhat.com/errata/RHSA-2026:7896
- https://access.redhat.com/errata/RHSA-2026:7302
- https://access.redhat.com/errata/RHSA-2026:7350
Scores
| Version | Score | Vecteur | Évalué par |
|---|---|---|---|
| CVSS 3.0 | HIGH 7.5 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | hackerone |
| CVSS 3.1 | HIGH 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | redhat-SADP |
| CVSS 3.1 | HIGH 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | NVD · 0b0ca135-0b70-47e7-9f44-1890c2a1c46c (Secondary) |
| CVSS 3.0 | HIGH 7.5 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | NVD · support@hackerone.com (Secondary) |
Références européennes
- ENISA EUVD · EUVD-2026-17170
- GCVE · GCVE-0-2026-21710
Avis du CERT-FR
- CERTFR-2026-AVI-0917 — Multiples vulnérabilités dans Oracle PeopleSoft · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0796 — Multiples vulnérabilités dans Tenable Identity Exposure · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0627 — Multiples vulnérabilités dans les produits Splunk · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0436 — Multiples vulnérabilités dans Tenable Identity Exposure · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0406 — Multiples vulnérabilités dans les produits Microsoft · cert.ssi.gouv.fr
Configurations affectées (CPE NVD)
cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:*≤ 20.20.1cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:*≥ 22.0.0 ≤ 22.22.1cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:*≥ 24.0.0 ≤ 24.14.0cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:*≥ 25.0.0 ≤ 25.8.1cpe:2.3:o:redhat:enterprise_linux:8.0:*:*:*:*:*:*:*cpe:2.3:o:redhat:enterprise_linux:9.0:*:*:*:*:*:*:*cpe:2.3:o:redhat:enterprise_linux:10.0:*:*:*:*:*:*:*cpe:2.3:o:redhat:enterprise_linux_eus:9.4:*:*:*:*:*:*:*cpe:2.3:o:redhat:enterprise_linux_eus:9.6:*:*:*:*:*:*:*cpe:2.3:o:redhat:enterprise_linux_eus:10.0:*:*:*:*:*:*:*
Produits affectés
| Produit | Versions |
|---|---|
| nodejs · node | affected 20.20.1 ≤ 20.20.1 ; affected 22.22.1 ≤ 22.22.1 ; affected 24.14.0 ≤ 24.14.0 ; affected 25.8.1 ≤ 25.8.1 ; affected 4.0 < 4.* ; affected 5.0 < 5.* |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |