CVE-2026-16728
Reported by openjs · Published July 29, 2026
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.
Risk Scores
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| undici | undici | 0, 6.28.0, 7.0.0 |
| wolfi | renovate | 0, 0, 0 |
| chainguard | commercial-gitlab-rails-ee-19.1 | 0 |
| wolfi | code-server | 0, 0, 0 |
| chainguard | commercial-gitlab-rails-ee-19.4 | 0 |
| chainguard | kibana-8.19 | 0, 0, 0 |
| chainguard | commercial-gitlab-rails-ee-fips-19.4 | 0 |
| chainguard | prism | 0, 0, 0 |
| undici | undici | 8.0.0, 7.0.0, 0 |
| chainguard | commercial-gitlab-rails-ee-19.2 | 0 |
| chainguard | langfuse-fips-4 | 0, 0, 0 |
| chainguard | vitess-24 | 0, 0, 0 |
| chainguard | npm-12 | 0, 0, 0 |
| chainguard | kibana-9.2 | 0, 0, 0 |
| chainguard | kibana-9.3 | 0, 0 |
| chainguard | renovate | 0, 0, 0 |
| chainguard | commercial-gitlab-rails-ee-fips-19.3 | 0 |
| wolfi | prism | 0, 0, 0 |
| wolfi | vitess-24 | 0, 0, 0 |
| chainguard | langfuse-3 | 0, 0, 0 |
…and 14 more
Timeline
- Jul 29, 2026 Coalition ESS Score
- Jul 29, 2026 CVE Published
- Aug 3, 2026 CVE Updated
- Aug 7, 2026 EPSS Score
- Aug 13, 2026 Security Advisory
- Aug 24, 2026 EPSS Score
- Sep 6, 2026 EPSS Score
- Sep 16, 2026 EPSS Score
- Sep 24, 2026 EPSS Score
- Sep 30, 2026 EPSS Score
- Oct 9, 2026 EPSS Score
- Oct 16, 2026 EPSS Score
References
- https://nvd.nist.gov/vuln/detail/CVE-2026-16728 advisory
- https://github.com/advisories/GHSA-8xcm-r25x-g524 advisory
- https://hackerone.com/reports/3828685 url
- https://github.com/nodejs/undici/commit/1b5a5312c3a7d7a30c31bf0d000b39a8a2531e1c fix
- https://github.com/nodejs/undici/commit/2b3f749336d356bbbc50192f87f6cf7bc714721a fix
- https://github.com/nodejs/undici/commit/4a9dafb16ff43880cf590e6d9c2aeee25fbff6d7 fix
- https://github.com/nodejs/undici/commit/4fd5a0c61e627f928b7003adc4ffe1e55ec63420 fix
- https://github.com/nodejs/undici/commit/cba3a52ac2e7abcc4e656d82af8579ea82c2bb9e fix
- https://github.com/nodejs/undici/commit/e11a68ed4ff345c79402476f7a00d473443e318d fix
- https://github.com/nodejs/undici/releases/tag/v6.28.0 fix
- https://github.com/nodejs/undici/releases/tag/v7.29.0 fix
- https://github.com/nodejs/undici/releases/tag/v8.9.0 fix