undici vulnerable to downstream response splitting via retry interceptor (undici undici)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.31 % · percentile 24 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- openjs
- NVD status
- Analyzed
Description
undici's retry interceptor can append the body of a ranged retry response to bytes already delivered from an earlier partial response while still presenting the original response's status and headers. This happens when an upstream server delivers part of a body without a trustworthy resume checkpoint, for example a non-success response whose headers were already sent or a partial-content response with an unusable content range, then closes the connection and answers the resumed range request with more bytes. As a result the response body can be longer than the Content-Length that the application observes. An application that relays such a response to a downstream HTTP/1.1 peer without normalizing the framing can emit a body that exceeds the forwarded Content-Length, and the excess bytes can be interpreted as the start of a following response, which enables downstream response splitting or desynchronization. Exploitation requires an attacker-controlled upstream server and an application that forwards the response through a framing-sensitive path. This affects undici versions before 6.28.1, from 7.0.0 up to 7.29.1, and from 8.0.0 up to 8.10.2. Users should upgrade to undici 6.28.1, 7.29.1, or 8.10.2.
Weaknesses (CWE)
- CWE-444 — Inconsistent Interpretation of HTTP Requests
References
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | LOW 3.7 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N | openjs |
| CVSS 3.1 | LOW 3.7 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N | NVD · ce714d77-add3-4f53-aff5-83d477b104bb (Secondary) |
Advisories
- GHSA-r53p-7pc4-xj5r — undici vulnerable to downstream response splitting via retry interceptor
European references
- ENISA EUVD · EUVD-2026-71661
- GCVE · GCVE-0-2026-18540
CERT-FR advisories
- CERTFR-2026-AVI-1378 — Multiples vulnérabilités dans les produits IBM · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1336 — Multiples vulnérabilités dans les produits IBM · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1233 — Multiples vulnérabilités dans les produits IBM · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:a:nodejs:undici:*:*:*:*:*:node.js:*:*< 6.28.1cpe:2.3:a:nodejs:undici:*:*:*:*:*:node.js:*:*≥ 7.0.0 < 7.29.1cpe:2.3:a:nodejs:undici:*:*:*:*:*:node.js:*:*≥ 8.0.0 < 8.10.2
Affected products
| Product | Versions |
|---|---|
| undici · undici | affected 0 < 6.28.1 ; unaffected 6.28.1 ; affected 7.0.0 < 7.29.1 ; unaffected 7.29.1 ; affected 8.0.0 < 8.10.2 ; unaffected 8.10.2 |
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 |