Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessVictim app opens EventSource to untrusted SSE peer
-
DeliveryMalicious server returns small compressed SSE body
-
ExploitStream millions of tiny data fields or split line
-
ExecutionParser retains unbounded per-field/per-chunk state
-
ImpactNode.js process exhausts memory and crashes
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The affected application must instantiate undici's EventSource client and keep a connection open to an untrusted or attacker-controlled Server-Sent Events (SSE) endpoint - the attacker controls only the response body, not the request. The attacker then sends either millions of tiny completed data fields with no blank event separator, or a single unfinished line split across many chunks; a small compressed response suffices because maxResponseSize is enforced before decompression. Exploitation is limited by the requirement that the victim already consumes SSE from the hostile peer (reflected in AC:H); it needs no authentication (PR:N), no user interaction (UI:N), and affects default configurations once an EventSource connection to the untrusted peer exists. There is no workaround other than upgrading to undici 6.29.1, 7.30.1, 8.12.2, or later. |
| Impact | This is a genuine but moderate-priority availability issue, and the CVSS 3.1 base score of 5.9 (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H) accurately captures that profile: network-reachable and unauthenticated, but gated by high attack complexity and limited to availability impact only (no confidentiality or integrity loss). No EPSS score, KEV listing, SSVC decision, or POC was provided in the input, so there is no public exploit identified at time of analysis and no evidence of active or widespread exploitation - the signals that would elevate this to urgent patching are simply absent rather than negative. The AC:H rating is consistent with the description's precondition that the victim application must itself hold an EventSource connection open to an untrusted or compromised SSE peer; this is not a condition an attacker can unilaterally create against an arbitrary target, which meaningfully narrows the exploitable population below undici's very large install base. The realistic worst case is a single remote process crash (memory exhaustion / OOM kill) per vulnerable connection. Net: treat as a routine dependency upgrade for services that consume third-party SSE streams, not a drop-everything emergency, unless such untrusted EventSource usage is confirmed in the environment. |
| Exploit ScenarioDerived | A Node.js service uses undici's EventSource client to subscribe to a third-party or user-configurable Server-Sent Events endpoint. A malicious or compromised SSE server returns a small compressed response that either contains millions of tiny completed data fields with no blank separators, or a single unfinished line split across many chunks; the parser accumulates unbounded per-field and per-chunk state (not capped by maxEventSize/maxResponseSize, since maxResponseSize is checked pre-decompression), exhausting process memory and terminating the Node.js process. No public exploit code is identified at time of analysis, and the AC:H rating reflects that the victim must already maintain an EventSource connection to the attacker-controlled peer. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
Memory exhaustion in undici's EventSource client can allow a malicious or compromised Server-Sent Events peer to terminate a Node.js process by exploiting unbounded parser state accumulation. Affected versions are undici 6.5.0 through 6.29.0, 7.0.0 through 7.30.0, and 8.0.0 through 8.12.1; an application must already have an EventSource connection open to the hostile peer, and the attacker controls only the response body, requiring no authentication and no user interaction. The impact is availability only (CVSS 5.9, AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H), no public exploit identified at time of analysis, and vendor-released patches are available in undici 6.29.1, 7.30.1, and 8.12.2.
RemediationAI
Upgrade to the vendor-released patch: undici 6.29.1, 7.30.1, or 8.12.2 or later, which bound retained EventSource parser state independently of the byte-based maxEventSize and maxResponseSize limits; consult https://github.com/nodejs/undici/security/advisories/GHSA-4qv8-2p9j-2685 and https://cna.openjsf.org/security-advisories.html. There is no vendor workaround, so the complete fix is upgrading. If immediate upgrade is impossible, compensating controls include disallowing EventSource connections to untrusted or attacker-controlled SSE peers, applying strict network egress allowlisting so only trusted SSE endpoints are reachable, and terminating SSE sessions through a proxy or gateway that enforces decompressed body/event-field limits and rejects streams with excessive tiny fields or incomplete lines; these measures may break legitimate high-volume SSE use and are not guaranteed to fully prevent memory growth. Setting process memory limits or restart supervision can reduce blast radius but the process or worker may still terminate under attack.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
undici is an HTTP client library for Node.js, and its EventSource client implements the client side of the Server-Sent Events (SSE) protocol. The root cause is CWE-770 (Allocation of Resources Without Limits or Throttling): the EventSource parser retains per-field and per-chunk state that is not bounded by the byte-oriented maxEventSize and maxResponseSize limits. An attacker can send millions of tiny completed data fields without a blank event separator, or a single unfinished line split across many chunks, causing the retained parser state to grow. Because maxResponseSize is enforced on the compressed response body before decompression, even a small compressed response can expand into enough retained memory to terminate the process. The CPE cpe:2.3:a:undici:undici:*:*:*:*:*:*:*:* confirms undici as the affected product, and the fixed versions 6.29.1, 7.30.1, and 8.12.2 bound the retained parser state independently of the byte limits. Exploitation is limited to availability impact and requires that the victim application maintain an EventSource connection to an untrusted peer.
Know when Undici gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Network-reachable and unauthenticated (AV:N/PR:N), but AC:H because the victim must already hold an EventSource connection to the attacker-controlled peer; impact is availability-only (A:H), no C/I.
Primary rating from Vendor (openjs).
CVSS VectorVendor: openjs
Lifecycle Timeline
2DescriptionCVE.org
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 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 that the byte-based maxEventSize and maxResponseSize limits do not bound, and because maxResponseSize is enforced on the compressed body before decompression, a small compressed response can expand into enough retained memory to terminate the process. An application only needs to maintain an EventSource connection to an untrusted peer, which controls only the response, and availability is the only impact. The issue is fixed in undici 6.29.1, 7.30.1, and 8.12.2, which bound the retained parser state independently of the byte limits, and users should upgrade to one of those versions or later. There is no workaround.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
undici is an HTTP/1.1 client, written from scratch for Node.js.`undici` is vulnerable to SSRF (Server-side Request Forge
Memory exhaustion denial of service in the undici WebSocket client (versions 6.17.0 and later) allows a malicious or com
Cross-user information disclosure in undici's cache interceptor allows authenticated users' responses to be served from
Cookie attribute injection in undici's setCookie function allows attacker-controlled domain values or unparsed array ent
Authorization headers are cleared on cross-origin redirect. Rated medium severity (CVSS 6.5), this vulnerability is remo
`Undici.ProxyAgent` never verifies the remote server's certificate, and always exposes all request & response data to th
CRLF injection in undici's HTTP/1.1 dispatcher enables HTTP header injection and potential request smuggling when applic
Undici is an HTTP/1.1 client for Node.js. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploitable,
undici is an HTTP/1.1 client, written from scratch for Node.js.`=< undici@5.8.0` users are vulnerable to _CRLF Injection
Cross-user information disclosure and a parse-time denial of service in undici's HTTP cache interceptor affect versions
TLS certificate validation bypass in undici's BalancedPool dispatcher silently discards function-valued options - includ
Cross-origin request misrouting in undici's Socks5ProxyAgent (introduced in 7.23.0, affecting all releases through 8.1.0
EUVD-2026-102249
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB