Skip to content
Fencer Vulns
low 3.7

CVE-2026-18540 json

undici vulnerable to downstream response splitting via retry interceptor

published 2026-09-04 2 mo ago modified 2026-09-29 40 d ago also EUVD-2026-71661 , GHSA-r53p-7pc4-xj5r

cvss
3.7
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.3%
EPSS 0.3% chance of exploitation in 30 days, percentile 23%
public exploits
0
none known

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 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.

Patch / fix

  • npm undici 6.28.1, 7.29.1, 8.10.2
  • undici undici 6.28.1, 7.29.1, 8.10.2
  • node-undici Debian 14 8.10.2+dfsg+~cs3.2.2-1

debian advisories DEBIAN-CVE-2026-18540

  • nodejs24 hummingbird 1 24.21.0-1.hum1
  • nodejs24-bin hummingbird 1 24.21.0-1.hum1
  • nodejs24-npm hummingbird 1 11.19.0-1.24.21.0.1.hum1
  • nodejs24-libs hummingbird 1 24.21.0-1.hum1
  • nodejs24-npm-bin hummingbird 1 11.19.0-1.24.21.0.1.hum1
  • nodejs24-full-i18n hummingbird 1 24.21.0-1.hum1
  • nodejs26 hummingbird 1 26.8.2-0.1.hum1
  • nodejs26-bin hummingbird 1 26.8.2-0.1.hum1

red hat advisories RHSA-2026:71017RHSA-2026:66605RHSA-2026:66008

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-18540 updated cvss 3.7

undici: undici: HTTP response splitting via retry interceptor

  • Red Hat Exploit Intelligence exploit-intelligence/vulnerability-analysis-rhel9
    affected: workaround, no fix planned “Out of support scope”
  • Red Hat OpenShift Pipelines openshift-pipelines/pipelines-console-plugin-rhel9, openshift-pipelines/pipelines-console-plugin-pf5-rhel9 Red Hat AMQ Broker 7 amq-broker-bin.zip 7.14.1.CR2, amq-broker-maven-repository.zip 7.14.1.CR3 Red Hat Ansible Automation Platform 2 automation-platform-ui 2.6.13-1.el9ap Red Hat Build of Podman Desktop rh-podman-desktop.git 1.1.0 Red Hat Developer Hub 1 rhdh/rhdh-hub-rhel9, rhdh/red-hat-developer-hub-backstage-plugin-lightspeed-backend, rhdh/red-hat-developer-hub-backstage-plugin-orchestrator-backend, rhdh/red-hat-developer-hub-backstage-plugin-orchestrator-backend-module-loki, rhdh/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator Red Hat Enterprise Linux 8 npm, nodejs, nodejs-libs, nodejs-nodemon, ubi8/nodejs-24, nodejs-full-i18n, +3 more
    +7 more products
    Red Hat Enterprise Linux 9 npm, nodejs, nodejs-libs, ubi9/nodejs-24, nodejs-full-i18n, ubi9/nodejs-24-minimal Red Hat Enterprise Linux 10 ubi10/nodejs-24, grafana 12.4.3-2.el10, nodejs26 26.1.0-1.el10, ubi10/nodejs-24-minimal, nodejs22 22.23.2-1.el10_2, nodejs24 24.19.0-1.el10_2 Red Hat Hardened Images nodejs25 25.9.0-1.6.hum1 Red Hat OpenShift AI (RHOAI) rhoai/odh-mlflow-rhel9, rhoai/odh-core-bff-rhel9, rhoai/odh-dashboard-rhel9, rhoai/odh-mod-arch-maas-rhel9, rhoai/odh-mod-arch-automl-rhel9, rhoai/odh-mod-arch-gen-ai-rhel9, +7 more Red Hat OpenShift Container Platform 4 wasmedge, wasmedge-rt, openshift4/ose-monitoring-plugin-rhel9 Red Hat Openshift Data Foundation 4 odf4/mcg-core-rhel9, odf4/odf-console-rhel9, odf4/ocs-client-console-rhel9, odf4/odf-multicluster-console-rhel9 Red Hat OpenShift Dev Spaces devspaces/code-rhel9, devspaces/openvsx-rhel9, devspaces/dashboard-rhel9, devspaces/pluginregistry-rhel9
    affected: workaround, no fix available “Fix deferred”
  • Red Hat Trusted Artifact Signer rhtas/rhtas-console-ui-rhel9 Red Hat Secrets Management Console for Red Hat OpenShift external-secrets-management/console-plugin-rhel9
    affected: workaround, no fix planned “Out of support scope”
  • Red Hat Self-service automation portal 2 ansible-automation-platform/automation-portal, ansible-automation-platform/bootc-automation-portal-rhel9
    affected: workaround, no fix available “Fix deferred”
  • Red Hat Hardened Images nodejs24 24.21.0-1.hum1, nodejs26 26.8.2-0.1.hum1, nodejs24-bin 24.21.0-1.hum1, grafana12.4 12.4.10-0.2.hum1, nodejs24-libs 24.21.0-1.hum1, nodejs26-bin 26.8.2-0.1.hum1, +7 more
    fixed: vendor fix RHSA-2026:66008
  • Red Hat Hardened Images rust 1.97.1-2.hum1, jaeger 2.20.0-0.8.hum1, prometheus3.13 3.13.2-0.2.hum1
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
none
Automatable
no
Technical impact
partial
Assessed
2 mo ago

Exploit prediction

0.31% chance of exploitation in the next 30 days, higher than 23% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 3.7 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
GitHub 3.1 3.7 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N

Affected packages

ecosystem package affected fixed in
npm undici
<6.28.1
>=7.0.0, <7.29.1
>=8.0.0, <8.10.2
6.28.1
7.29.1
8.10.2

Affected products

  • undici undici

Classification

Weakness
  • CWE-444 Inconsistent Interpretation of HTTP Requests

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.

CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.