CVE-2026-16728

Aliases:UBUNTU-CVE-2026-16728DEBIAN-CVE-2026-16728GHSA-8xcm-r25x-g524CGA-2869-jmhq-75g2CGA-3q9v-j9f3-q762CGA-436m-g455-7xj4CGA-48xw-5qg9-vfp2CGA-4948-h783-7fcfCGA-4w28-92jj-9xj6CGA-58p9-942w-87gmCGA-6658-g8xg-p7fxCGA-6r6q-84gj-w6cjCGA-766g-w3g7-567fCGA-8cqj-9r34-v994CGA-8m44-4q6c-pq4rCGA-8whv-xjw9-ffv8CGA-9cvm-9xf3-pmmgCGA-c7x2-rh7g-3h97CGA-cpqv-4p4r-hxwpCGA-fcgq-j92f-vcfgCGA-g959-prhf-qwrgCGA-j5gg-fpcp-cvwrCGA-j8xq-25wr-cpgxCGA-jch6-8rgg-6pr3CGA-m43r-r63r-jgr2CGA-mjwj-p98j-hjmhCGA-2582-vq2h-p98mCGA-2m8c-vm89-wf63CGA-4hjx-g8q6-xqr8CGA-4q49-qvj2-3f2qCGA-6448-97h4-vg9pCGA-6fqq-xcmm-xhj8CGA-6j33-x7rf-mjxpCGA-6rqh-qq56-6x3rCGA-6w6c-r7f7-fr5cCGA-7v57-27x6-g6qmCGA-7x4j-2gv4-48rwCGA-82cr-rcjw-cj5gCGA-99hp-f8c4-pqmhCGA-c46f-c9g8-wccxCGA-cc7r-wqh9-8c79CGA-cv5v-5ghw-4mmxCGA-f6c5-g786-q5f3CGA-f945-pxwg-9fr9CGA-fp2h-pr8v-phrcCGA-gq72-38gr-2v8gCGA-gx4w-jwpc-j5r8CGA-hgwg-9m37-rv6hCGA-j7f7-837r-c89rCGA-mf5x-r5gc-5vc2CGA-mxhh-jvpp-p7q7CGA-p5ph-3g86-mw98CGA-pwx4-9g4c-rpqxCGA-q5cq-27mp-868mCGA-q894-hcgm-5x79CGA-qcv5-2ff6-w3v5CGA-qgh3-qrpv-8hj6CGA-qmh4-g99r-8rrmCGA-qmwg-vrpw-2p7gCGA-rg7j-grw2-4f4wCGA-v36x-h8w6-r3h6CGA-vch7-v4cq-mx82CGA-w367-23pr-rwrqCGA-w834-766r-347cCGA-wp2f-768r-4q4rCGA-wqp6-c8fj-7fpgCGA-x23w-979m-mc4fCGA-xc57-x6h5-553vCGA-xh2j-gxr9-7pfpCGA-jf6g-v3jp-3q98CGA-fx47-mpf4-6cx5CGA-4jhj-wgh4-ch7rCGA-5jwr-cjg6-f88qCGA-9v58-2xpq-wh5cCGA-w9j8-vgj2-9jpvCGA-6mx5-c66h-9hp8CGA-fj5h-h388-cqvx
Analyzed
Published: 29 Jul 2026, 20:59
Last modified:30 Jul 2026, 15:18

Vulnerability Summary

Overall Risk (default)
medium
26/100
CVSS Score
6.5 MEDIUM
v3.1 (nvd)
EPSS Score
0.18% LOW
0% probability 0.00%
KEV
Not listed
Ransomware
No reports
Public exploits
None found
Dark Web
Not detected

Timeline

29 Jul 2026, 20:59
Published
Vulnerability first disclosed
30 Jul 2026, 15:18
Last Modified
Vulnerability information updated

Description

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 Metrics

  • v3.1MEDIUMScore: 4.8CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
  • v3.1MEDIUMScore: 6.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L

EPSS Trends

Current EPSS score: 0.18% Percentile: 7%

Techniques & Countermeasures

  • CWE-444Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')

    The product acts as an intermediary HTTP agent (such as a proxy or firewall) in the data flow between two entities such as a client and server, but it does not interpret malformed HTTP requests or responses in ways that are consistent with how the messages will be processed by those entities that are at the ultimate destination.

Affected Systems

  • chainguardactions-runner

    < 2.336.0-r5

  • chainguardcode-server

    < 4.130.0-r5

  • chainguardcommercial-gitlab-rails-ee-19.1

    all

  • chainguardcommercial-gitlab-rails-ee-19.2

    all

  • chainguardcommercial-gitlab-rails-ee-19.3

    all

  • chainguardcommercial-gitlab-rails-ee-fips-19.1

    all

  • chainguardkibana-8.19

    < 8.19.20-r2

  • chainguardkibana-8.19-bitnami

    < 8.19.20-r2

  • chainguardkibana-8.19-iamguarded

    < 8.19.20-r2

  • chainguardkibana-9.1

    all

  • chainguardkibana-9.1-iamguarded

    all

  • chainguardkibana-9.2

    < 9.2.8-r19

  • chainguardkibana-9.2-iamguarded

    < 9.2.8-r19

  • chainguardkibana-9.3

    all

  • chainguardkibana-9.3-iamguarded

    all

  • chainguardlangfuse-3

    < 3.225.0-r3

  • chainguardlangfuse-3-compat

    < 3.225.7-r6

  • chainguardlangfuse-3-worker

    < 3.225.0-r3

  • chainguardlangfuse-4

    < 4.3.1-r3

  • chainguardlangfuse-4-worker

    < 4.3.1-r3

  • chainguardlangfuse-fips-3

    < 3.224.3-r9

  • chainguardlangfuse-fips-3-worker

    < 3.224.3-r9

  • chainguardlangfuse-fips-4

    < 4.4.0-r0

  • chainguardlangfuse-fips-4-worker

    < 4.4.0-r0

  • chainguardnpm-12

    < 12.0.2-r2

  • chainguardpelias-api

    < 7.8.0-r7

  • chainguardprism

    < 5.16.0-r2

  • chainguardpulumi-language-nodejs

    < 3.256.0-r1

  • chainguardrenovate

    < 44.23.3-r1 | < 44.11.4-r0 | < 44.11.3-r0

  • chainguardsaf

    < 1.7.0-r0

  • chainguardvitess-24

    < 24.0.2-r10

  • chainguardvitess-24-compat

    < 24.0.3-r7

  • wolficode-server

    < 4.130.0-r5

  • wolfilangfuse-3

    < 3.225.0-r3

  • wolfilangfuse-3-compat

    < 3.225.7-r6

  • wolfilangfuse-3-worker

    < 3.225.0-r3

  • wolfinpm-12

    < 12.0.2-r2

  • wolfiprism

    < 5.16.0-r2

  • wolfipulumi-language-nodejs

    < 3.256.0-r1

  • wolfirenovate

    < 44.23.3-r1 | < 44.11.4-r0 | < 44.11.3-r0

  • wolfisaf

    < 1.7.0-r0

  • wolfivitess-24

    < 24.0.2-r10

  • wolfivitess-24-compat

    < 24.0.3-r7

  • debiannode-undici

    all | all | < 8.9.0+dfsg+~cs3.2.0-1

  • ubuntunode-undici

    all | all

  • nodejsundici

    < 6.28.0 | ≥ 7.0.0, < 7.29.0 | ≥ 8.0.0, < 8.9.0

  • Npmundici

    < 6.28.0 | ≥ 7.0.0, < 7.29.0 | ≥ 8.0.0, < 8.9.0

  • undiciundici

    < 6.28.0 | ≥ 7.0.0, < 7.29.0 | ≥ 8.0.0, < 8.9.0

References (18)