Executive brief
undici is a popular Node.js HTTP client library used by many applications to fetch data from remote servers. The dump interceptor—a tool for capturing and discarding response bodies up to a specified size limit—fails to properly handle responses sent without a declared size when they exceed the limit. This causes the application to report a successful response with truncated or empty data while silently disconnecting from the server, potentially causing data loss and connection reliability issues.
Technical details
The vulnerability is an input validation and improper exception handling issue (CWE-20, CWE-248) in undici's dump interceptor. When a chunked response (no Content-Length header) exceeds maxSize, the interceptor signals early completion but the underlying HTTP parser continues delivering body bytes, triggering a second completion signal that violates an internal assertion. This causes the connection to be torn down and the application to observe a misleading 200 status code with truncated content. The attack requires network reachability to a misbehaving or untrusted upstream server; no authentication or user interaction is required. Affected versions are 7.1.0–7.29.0 and 8.0.0–8.10.1; patches are available in 7.29.1 and 8.10.2.
Affected products
- OpenJS Foundation undici 7.1.0 to 7.29.0, 8.0.0 to 8.10.1
Timeline
- 2026-09-04: disclosed: CVE-2026-84947 and GHSA-2gqq-gqf2-x968 published
- 2026-09-04: patched: Patches released in undici 7.29.1 and 8.10.2