p PatchFirst

CVE-2026-16728

CVE-2026-16728 · undici vulnerable to downstream response desynchronization via retry interceptor

This page contains facts from public vulnerability sources. Check the original advisory before updating.

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.

CVSS 4.8 · Medium · EPSS 0.2% · Fix available

Published
Updated

Stack: system · node

Affected products and versions

  • undici

    Versions
    • ≥ 0, < 6.28.0: Affected (semver)
    • 6.28.0: Not affected (semver)
    • ≥ 7.0.0, < 7.29.0: Affected (semver)
    • 7.29.0: Not affected (semver)
    • ≥ 8.0.0, < 8.9.0: Affected (semver)
    • 8.9.0: Not affected (semver)

    Update to 6.28.0; Update to 7.29.0; Update to 8.9.0

  • node-undici Debian:12

    Versions
    • 5.15.0+dfsg1+~cs20.10.9.3-1
    • 5.15.0+dfsg1+~cs20.10.9.3-1+deb12u1
    • 5.15.0+dfsg1+~cs20.10.9.3-1+deb12u2
    • 5.15.0+dfsg1+~cs20.10.9.3-1+deb12u3
    • 5.15.0+dfsg1+~cs20.10.9.3-1+deb12u4
    • 5.19.1+dfsg1+~cs20.10.9.5-1
    • 5.19.1+dfsg1+~cs20.10.9.5-2
    • 5.22.1+dfsg1+~cs20.10.10.2-1
    • 5.26.3+dfsg1+~cs23.10.12-1
    • 5.26.3+dfsg1+~cs23.10.12-2
    • 5.26.3+dfsg1+~cs23.10.12-3
    • 5.28.0+dfsg1+~cs23.11.12.3-1
    • 5.28.0+dfsg1+~cs23.11.12.3-2
    • 5.28.2+dfsg1+~cs23.11.12.3-1
    • 5.28.2+dfsg1+~cs23.11.12.3-2
    • 5.28.2+dfsg1+~cs23.11.12.3-3
    • 5.28.2+dfsg1+~cs23.11.12.3-4
    • 5.28.2+dfsg1+~cs23.11.12.3-5
    • 5.28.2+dfsg1+~cs23.11.12.3-6
    • 5.28.4+dfsg1+~cs23.12.11-1
    • 5.28.4+dfsg1+~cs23.12.11-2
    • 7.1.0+dfsg1+~cs24.12.10-1
    • 7.15.0+dfsg+~cs3.2.0-1
    • 7.15.0+dfsg+~cs3.2.0-3
    • 7.16.0+dfsg+~cs3.2.0-1
    • 7.16.0+dfsg+~cs3.2.0-2
    • 7.18.2+dfsg+~cs3.2.0-1
    • 7.2.3+dfsg1+~cs24.12.11-1
    • 7.2.3+dfsg1+~cs24.12.11-2
    • 7.24.5+dfsg+~cs3.2.0-1
    • 7.24.6+dfsg+~cs3.2.0-1
    • 7.24.6+dfsg+~cs3.2.0-2
    • 7.24.6+dfsg+~cs3.2.0-3
    • 7.3.0+dfsg1+~cs24.12.11-1
    • 7.3.0+dfsg1+~cs24.12.11-2
    • 8.10.2+dfsg+~cs3.2.2-1
    • 8.5.0+dfsg+~cs3.2.0-1
    • 8.5.0+dfsg+~cs3.2.0-2
    • 8.5.0+dfsg+~cs3.2.0-3
    • 8.9.0+dfsg+~cs3.2.0-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • node-undici Debian:13

    Versions
    • 7.15.0+dfsg+~cs3.2.0-1
    • 7.15.0+dfsg+~cs3.2.0-3
    • 7.16.0+dfsg+~cs3.2.0-1
    • 7.16.0+dfsg+~cs3.2.0-2
    • 7.18.2+dfsg+~cs3.2.0-1
    • 7.24.5+dfsg+~cs3.2.0-1
    • 7.24.6+dfsg+~cs3.2.0-1
    • 7.24.6+dfsg+~cs3.2.0-2
    • 7.24.6+dfsg+~cs3.2.0-3
    • 7.3.0+dfsg1+~cs24.12.11-1
    • 7.3.0+dfsg1+~cs24.12.11-2
    • 8.10.2+dfsg+~cs3.2.2-1
    • 8.5.0+dfsg+~cs3.2.0-1
    • 8.5.0+dfsg+~cs3.2.0-2
    • 8.5.0+dfsg+~cs3.2.0-3
    • 8.9.0+dfsg+~cs3.2.0-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • node-undici Debian:14

    Versions
    • 7.15.0+dfsg+~cs3.2.0-1
    • 7.15.0+dfsg+~cs3.2.0-3
    • 7.16.0+dfsg+~cs3.2.0-1
    • 7.16.0+dfsg+~cs3.2.0-2
    • 7.18.2+dfsg+~cs3.2.0-1
    • 7.24.5+dfsg+~cs3.2.0-1
    • 7.24.6+dfsg+~cs3.2.0-1
    • 7.24.6+dfsg+~cs3.2.0-2
    • 7.24.6+dfsg+~cs3.2.0-3
    • 7.3.0+dfsg1+~cs24.12.11-1
    • 7.3.0+dfsg1+~cs24.12.11-2
    • 8.5.0+dfsg+~cs3.2.0-1
    • 8.5.0+dfsg+~cs3.2.0-2
    • 8.5.0+dfsg+~cs3.2.0-3
    Affected ranges
    • ECOSYSTEM: < 8.9.0+dfsg+~cs3.2.0-1

    Update to 8.9.0+dfsg+~cs3.2.0-1

  • undici npm

    Affected ranges
    • SEMVER: < 6.28.0

    Update to 6.28.0

  • undici npm

    Affected ranges
    • SEMVER: ≥ 7.0.0, < 7.29.0

    Update to 7.29.0

  • undici npm

    Affected ranges
    • SEMVER: ≥ 8.0.0, < 8.9.0

    Update to 8.9.0

  • node-undici Ubuntu:24.04:LTS

    Versions
    • 5.22.1+dfsg1+~cs20.10.10.2-1ubuntu1
    • 5.26.3+dfsg1+~cs23.10.12-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • node-undici Ubuntu:26.10

    Versions
    • 7.18.2+dfsg+~cs3.2.0-1build1
    • 7.24.6+dfsg+~cs3.2.0-3
    • 8.5.0+dfsg+~cs3.2.0-2
    • 8.5.0+dfsg+~cs3.2.0-3
    • 8.9.0+dfsg+~cs3.2.0-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • node-undici Ubuntu:26.04:LTS

    Versions
    • 7.3.0+dfsg1+~cs24.12.11-2
    • 7.16.0+dfsg+~cs3.2.0-2
    • 7.18.2+dfsg+~cs3.2.0-1
    • 7.18.2+dfsg+~cs3.2.0-1build1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →