undici vulnerable to Denial of Service via unbounded memory in the EventSource parser
### Impact undici's `EventSource` client can be driven to exhaust process memory by a malicious or compromised Server-Sent Events peer. By sending millions of tiny completed `data:` fields with no blank event separator, or a single unfinished line split across many chunks, the parser retains a growing amount of per-field and per-chunk state. The byte-based `maxEventSize` and `maxResponseSize` limits do not bound that retained state, and `maxResponseSize` is enforced on the compressed body before decompression, so a small compressed response can expand into enough retained memory to terminate the process. The application only needs to maintain an `EventSource` connection to an untrusted peer, which controls only the response. Availability is the only impact. ### Patches Upgrade to `6.29.1`, `7.30.1`, or `8.12.2`, which bound the retained EventSource parser state (the number of `data` fields and buffered chunks, the unfinished-line length, and per-field byte totals) independently of the byte limits. ### Workarounds None.
describes (1)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2026-109924US | high7.5 | — | ||
undici is an HTTP client library for Node.js. In versions 6.5.0 through 6.29.0, 7.0.0 through 7.30.0, and 8.0.0 through 8.12.1, its EventSource client can be driven to exhaust proc… | ||||
references
External citations — patches, advisories, analysis.
- https://cna.openjsf.org/security-advisories.htmlWEB
- https://github.com/nodejs/undiciPACKAGE
- https://github.com/nodejs/undici/commit/299162740d5f39120092277e70efacb4d151c1c6WEB
- https://github.com/nodejs/undici/commit/789ef26461c648480433846607154f52d74ec9abWEB
- https://github.com/nodejs/undici/commit/c43b23fdc6b37e1283d4347408bb16800f867d9eWEB
- https://github.com/nodejs/undici/releases/tag/v6.29.1WEB
- https://github.com/nodejs/undici/releases/tag/v7.30.1WEB
- https://github.com/nodejs/undici/releases/tag/v8.12.2WEB
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan