undici vulnerable to Denial of Service via unbounded memory in the EventSource parser
What fixes it
- 6.29.1undici, npmGitHub
npm install undici@6.29.1 - 7.30.1undici, npmGitHub
npm install undici@7.30.1 - 8.12.2undici, npmGitHub
npm install undici@8.12.2 - 6.29.1undiciCVE List
- 7.30.1undiciCVE List
- 8.12.2undiciCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Reports 1
1 outlet mention it. Reports are not confirmation; each links to its source.
Description
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.
Text from GitHub Advisory Database
Affected versions 12
- undici, npm>= 6.5.0, < 6.29.1GitHub
- undici, npm>= 7.0.0, < 7.30.1GitHub
- undici, npm>= 8.0.0, < 8.12.2GitHub
- undiciaffected: 6.5.0 before 6.29.1CVE List
- undiciunaffected: 6.29.1CVE List
- undiciaffected: 7.0.0 before 7.30.1CVE List
- undiciunaffected: 7.30.1CVE List
- undiciaffected: 8.0.0 before 8.12.2CVE List
- undiciunaffected: 8.12.2CVE List
- undici, npmfrom 6.5.0, fixed in 6.29.1OSV
- undici, npmfrom 7.0.0, fixed in 7.30.1OSV
- undici, npmfrom 8.0.0, fixed in 8.12.2OSV
References 10
- github.com/nodejs/undici/commit/299162740d5f39120092277e70efacb4d151c1c6Fixvia GitHub
- github.com/nodejs/undici/commit/789ef26461c648480433846607154f52d74ec9abFixvia GitHub
- github.com/nodejs/undici/commit/c43b23fdc6b37e1283d4347408bb16800f867d9eFixvia GitHub
- github.com/nodejs/undici/releases/tag/v6.29.1Fixvia GitHub
- github.com/nodejs/undici/releases/tag/v7.30.1Fixvia GitHub
- github.com/nodejs/undici/releases/tag/v8.12.2Fixvia GitHub
- github.com/nodejs/undici/security/advisories/GHSA-4qv8-2p9j-2685Advisoryvia CVE List
- cna.openjsf.org/security-advisories.htmlAdvisoryvia CVE List
- github.com/advisories/GHSA-4qv8-2p9j-2685Advisoryvia GitHub
- nvd.nist.gov/vuln/detail/CVE-2026-109924Referencevia GitHub