CVE-2026-16728
undici's retry interceptor can deliver a response whose body length does not match the Content-Length header exposed to the application after a retry or resume…
Impact
undici's retry interceptor can deliver a response whose body length does not match the Content-Length header exposed to the application after a retry or resume of a partial response. In undici before 6.28.0, from 7.0.0 up to before 7.29.0, and from 8.0.0 up to before 8.9.0, a malicious or faulty upstream can return a partial response with a mismatched framing header, close the socket early, and have the retry interceptor assemble a body of a different length while the original Content-Length stays attached. Applications that use the retry interceptor and forward upstream headers and bodies downstream, such as proxies or gateways, may then emit an invalid HTTP response with a stale Content-Length, leading to downstream response desynchronization, connection hangs, or response corruption. Exploitation requires the retry interceptor enabled, an upstream returning a mismatched partial response, and a downstream forwarder that does not remove or recalculate Content-Length. The issue is fixed in undici 6.28.0, 7.29.0, and 8.9.0.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | undici | < 6.28.0 | 6.28.0 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Nodejs | Undici | before 6.28.0 from 7.0.0 before 7.29.0 from 8.0.0 before 8.9.0 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-8xcm-r25x-g524
- https://github.com/nodejs/undici/security/advisories/GHSA-8xcm-r25x-g524
- https://nvd.nist.gov/vuln/detail/CVE-2026-16728
- https://github.com/nodejs/undici/commit/1b5a5312c3a7d7a30c31bf0d000b39a8a2531e1c
- https://github.com/nodejs/undici/commit/2b3f749336d356bbbc50192f87f6cf7bc714721a
- https://github.com/nodejs/undici/commit/4a9dafb16ff43880cf590e6d9c2aeee25fbff6d7
- https://github.com/nodejs/undici/commit/4fd5a0c61e627f928b7003adc4ffe1e55ec63420
- https://github.com/nodejs/undici/commit/cba3a52ac2e7abcc4e656d82af8579ea82c2bb9e
- https://github.com/nodejs/undici/commit/e11a68ed4ff345c79402476f7a00d473443e318d
- https://hackerone.com/reports/3828685
- https://cna.openjsf.org/security-advisories.html
- https://github.com/nodejs/undici/releases/tag/v6.28.0
- https://github.com/nodejs/undici/releases/tag/v7.29.0
- https://github.com/nodejs/undici/releases/tag/v8.9.0