GHSA-4qv8-2p9j-2685
undici vulnerable to Denial of Service via unbounded memory in the EventSource parser
Packages
Details
As written in the advisory (Markdown source, shown as plain text).
### 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.
References
External links from the advisory. They lead to third-party sites.
- https://github.com/nodejs/undici/security/advisories/GHSA-4qv8-2p9j-2685
- https://nvd.nist.gov/vuln/detail/CVE-2026-109924
- https://github.com/nodejs/undici/commit/299162740d5f39120092277e70efacb4d151c1c6
- https://github.com/nodejs/undici/commit/789ef26461c648480433846607154f52d74ec9ab
- https://github.com/nodejs/undici/commit/c43b23fdc6b37e1283d4347408bb16800f867d9e
- https://cna.openjsf.org/security-advisories.html
- https://github.com/nodejs/undici
- https://github.com/nodejs/undici/releases/tag/v6.29.1
- https://github.com/nodejs/undici/releases/tag/v7.30.1
- https://github.com/nodejs/undici/releases/tag/v8.12.2