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.
Published: 2026-09-04
Score: 3.7 Low
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Undici’s retry interceptor can append a ranged retry response body to bytes already delivered from a partial response, causing the total body to exceed the Content‑Length header. If an application forwards such a response through a framing‑sensitive path without normalizing the framing, the surplus bytes may be interpreted as the start of a subsequent HTTP response, enabling downstream response splitting, framing desynchronization, or header injection. This weakness is classified as CWE‑444.

Affected Systems

All undici library releases older than 6.28.1, all releases from 7.0.0 through 7.29.1, and all releases from 8.0.0 through 8.10.2 are vulnerable. Any application that depends on these undici versions and forwards responses via a framing‑sensitive path is affected.

Risk and Exploitability

The CVSS score is only 3.7, indicating a low overall severity. No EPSS score is available, and the vulnerability is not listed in CISA’s KEV catalog. Exploitation requires an attacker‑controlled upstream server that sends a ranged retry response after a partial body, and an application that forwards the response to downstream peers without proper framing checks—a non‑trivial scenario. Once achieved, an attacker can cause downstream response splitting or framing desynchronization, potentially leading to injection or authentication bypass.

Generated by OpenCVE AI on September 4, 2026 at 19:31 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade undici to version 6.28.1, 7.29.1, or 8.10.2.
  • If an upgrade cannot be performed immediately, validate the response body length against the Content‑Length header before forwarding; truncate or reject any surplus bytes.
  • Modify application logic to normalize HTTP framing when relaying responses, ensuring that any unexpected split is removed or properly assembled before sending downstream.

Generated by OpenCVE AI on September 4, 2026 at 19:31 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 05 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Low


Fri, 04 Sep 2026 23:00:00 +0000

Type Values Removed Values Added
First Time appeared Undici
Undici undici
Vendors & Products Undici
Undici undici

Fri, 04 Sep 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 04 Sep 2026 17:30:00 +0000

Type Values Removed Values Added
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.
Title undici vulnerable to downstream response splitting via retry interceptor
Weaknesses CWE-444
References
Metrics cvssV3_1

{'score': 3.7, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: openjs

Published:

Updated: 2026-09-04T17:50:13.682Z

Reserved: 2026-07-31T20:47:28.965Z

Link: CVE-2026-18540

cve-icon Vulnrichment

Updated: 2026-09-04T17:50:09.864Z

cve-icon NVD

Status : Received

Published: 2026-09-04T18:17:50.020

Modified: 2026-09-04T18:17:50.020

Link: CVE-2026-18540

cve-icon Redhat

Severity : Low

Publid Date: 2026-09-04T17:15:50Z

Links: CVE-2026-18540 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-04T22:45:03Z

Weaknesses
  • CWE-444

    Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')