---
id: CVE-2026-18540
title: >-
  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
summary: >-
  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…
severity: low
cvss: 3.7
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N'
cwe:
  - CWE-444
vendor: nodejs
product: undici
affected:
  - undici < 6.28.1
  - 'undici >= 7.0.0, < 7.29.1'
  - 'undici >= 8.0.0, < 8.10.2'
patched:
  - undici 8.10.2
published: '2026-09-04'
updated: '2026-09-16'
sourceUpdated: '2026-09-16T20:41:17.627'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-18540'
references:
  - url: 'https://cna.openjsf.org/security-advisories.html'
    label: ce714d77-add3-4f53-aff5-83d477b104bb
  - url: 'https://github.com/nodejs/undici/security/advisories/GHSA-r53p-7pc4-xj5r'
    label: ce714d77-add3-4f53-aff5-83d477b104bb
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-18540.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-18540'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2528783'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-18540'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-18540'
  - url: 'https://access.redhat.com/errata/RHSA-2026:66008'
  - url: 'https://access.redhat.com/errata/RHSA-2026:66605'
tags:
  - nvd
  - csaf
  - vex
  - red-hat
epss: 0.00239
epssPercentile: 0.15257
ingestedAt: '2026-09-08T19:08:49.593Z'
---

## Overview

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.

## Affected

- `undici < 6.28.1`
- `undici >= 7.0.0, < 7.29.1`
- `undici >= 8.0.0, < 8.10.2`

## Remediation

Upgrade past the affected range:

- `undici 8.10.2`

## Vendor advisories

- **Red Hat VEX** · Low · affected: Exploit Intelligence, OpenShift Pipelines, Red Hat AMQ Broker 7, Red Hat Ansible Automation Platform 2, Red Hat Build of Podman Desktop, Red Hat Developer Hub, … · no fix planned: Exploit Intelligence, Red Hat Trusted Artifact Signer, Secrets Management Console for Red Hat OpenShift, OpenShift Pipelines, … · updated 2026-09-11 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-18540.json)
- **RHSA-2026:66008** · Red Hat · fixed in: Red Hat Hardened Images · released 2026-09-09 · [advisory](https://access.redhat.com/errata/RHSA-2026:66008)
- **RHSA-2026:66605** · Red Hat · fixed in: Red Hat Hardened Images · released 2026-09-11 · [advisory](https://access.redhat.com/errata/RHSA-2026:66605)
