GHSA-2gqq-gqf2-x968
undici vulnerable to response truncation via oversized chunked responses in the dump interceptor
Packages
Details
As written in the advisory (Markdown source, shown as plain text).
### 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.
References
External links from the advisory. They lead to third-party sites.
- https://github.com/nodejs/undici/security/advisories/GHSA-2gqq-gqf2-x968
- https://nvd.nist.gov/vuln/detail/CVE-2026-84947
- https://github.com/nodejs/undici/commit/21693f406f0142f3504192e9f9b022dcf84782ae
- https://github.com/nodejs/undici/commit/6d583124e7cf60b640097d64144ed633cc450584
- https://cna.openjsf.org/security-advisories.html
- https://github.com/nodejs/undici
- https://github.com/nodejs/undici/releases/tag/v7.29.1
- https://github.com/nodejs/undici/releases/tag/v8.10.2