CVE-2026-84947: undici vulnerable to response truncation via oversized chunked responses in the dump interceptor

Published Sep 4, 2026
·
Updated

Impact

undici's interceptors.dump() reads and discards response bodies up to a configurable maxSize. When a response declares a Content-Length that exceeds maxSize, the request is aborted cleanly. When a response is sent chunked (no Content-Length) and its body exceeds maxSize, it is not aborted: the interceptor ends the response early once the accumulated size reaches maxSize, and continued delivery from the parser triggers an internal assertion that is caught and turned into a request abort and connection tear-down. The application observes a misleading 200 with an empty or truncated body while the connection is disconnected. Any application using the dump interceptor against untrusted or misbehaving upstreams is affected.

Patches

Upgrade to 7.29.1 or 8.10.2. The dump interceptor now enforces maxSize on both the declared and the received body size, aborting the request with a RequestAbortedError instead of returning a truncated response.

Workarounds

None. Avoid using interceptors.dump() with untrusted upstreams until upgraded.

Other sources

undici's dump interceptor reads and discards a response body up to a configurable maximum size. When a response declares a Content-Length that exceeds the maximum, the interceptor aborts cleanly, but when a response has no Content-Length and is chunked, the interceptor instead signals completion early once the accumulated size reaches the maximum, without pausing or aborting the request. Because the underlying parser keeps delivering body bytes, a second completion signal fires and trips an internal assertion, which aborts the request and tears down the connection. The application is left observing a misleading successful status with an empty or truncated body while the connection has actually been disconnected. This affects undici versions from 7.1.0 up to 7.29.1 and from 8.0.0 up to 8.10.2. Users should upgrade to undici 7.29.1 or 8.10.2.

— MITRE

Affected Software

6 affected componentsFixes available
undici>7.1.0<=7.29.1
undici>8.0.0<=8.10.2
Nodejs Undici Node.js>=7.1.0<7.29.1
Nodejs Undici Node.js>=8.0.0<8.10.2
npm/undici>=8.0.0<8.10.2
8.10.2
npm/undici>=7.1.0<7.29.1
7.29.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade npm/undici to a version that resolves this vulnerability.

    Fixed in 8.10.2
  2. Upgrade

    Upgrade npm/undici to a version that resolves this vulnerability.

    Fixed in 7.29.1
  3. Upgrade

    Upgrade undici to a version that resolves this vulnerability.

    Fixed in 7.29.1
  4. Upgrade

    Upgrade undici to a version that resolves this vulnerability.

    Fixed in 8.10.2
  5. Compensating control

    Avoid using undici's interceptors.dump() with untrusted or misbehaving upstreams until upgraded.

Event History

Sep 4, 2026
CVE Published
via MITRE·04:53 PM
Data Sourced
via MITRE·04:53 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·05:17 PM
DescriptionSeverityWeaknessAffected Software
Sep 29, 2026
Advisory Published
via GitHub·06:18 PM
Data Sourced
via GitHub·06:18 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which applications are exposed to this issue?

Applications using undici's dump interceptor are exposed when it processes a chunked response without a Content-Length whose body exceeds the interceptor's configured maximum size. The affected behavior can leave the application with a successful status but an empty or truncated body.

2

What must an attacker control to trigger the problem?

An attacker needs to cause the application to receive an oversized chunked response that omits Content-Length. The response body must continue delivering bytes after the dump interceptor reaches its configured maximum.

3

How can I identify signs that this has occurred?

Look for requests reported to the application as successful despite returning an empty or truncated response body, alongside a disconnected connection or aborted request. The internal assertion is triggered after a second completion signal is delivered.

4

What versions should be remediated?

The affected ranges are undici 7.1.0 through 7.29.1 and 8.0.0 through 8.10.2. The provided remediation guidance is to upgrade to undici 7.29.1 or 8.10.2.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203