Skip to main content

undici CVE-2026-109855

| EUVDEUVD-2026-101959 HIGH
Uncaught Exception (CWE-248)
2026-10-15 openjs
7.5
CVSS 3.1 · Vendor: openjs
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Induce victim client to open WebSocket over HTTP/2
  2. Exploit
    Fail the WebSocket handshake, leaving stream orphaned
  3. Execution
    Destroy connection so orphaned stream emits unhandled error
  4. Impact
    Node.js process exits (denial of service)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Exception handling completeness
Exploitation Conditions

Requires the victim Node.js application to use undici 8.11.0 or 8.11.1 AND to open a WebSocket connection, over HTTP/2, to a server the attacker controls or can manipulate. The experimental WebSocket client is enabled by default whenever HTTP/2 is allowed (allowH2 true is the default), so no special opt-in is needed on the client. Limiting factors that reduce real-world risk: the client must itself initiate the outbound WebSocket to an untrusted/attacker-influenced server (not a server-side listening flaw), only two undici releases are vulnerable, and the documented workarounds - setting allowH2 to false or never opening WebSockets to untrusted servers - fully mitigate it without upgrading.

Impact

This is a genuine but conditional availability risk rather than a top-tier emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, 7.5 HIGH) correctly captures a network-reachable, low-complexity, unauthenticated flaw with no confidentiality or integrity impact - purely a denial of service (CWE-248, uncaught exception crashing the Node.js process). The critical nuance the base score hides is directionality: this is a CLIENT-side vulnerability where the attacker is a malicious SERVER. Exploitation is only possible if the victim application itself opens a WebSocket connection to an attacker-controlled or untrusted endpoint over HTTP/2, so 'AV:N / PR:N' is technically accurate but the realistic attack surface is narrower than the score implies. No EPSS score, CISA KEV listing, or POC was provided in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The exposure is further bounded to exactly two releases (undici 8.11.0 and 8.11.1). Net assessment: a real, easily-triggered crash worth prompt patching for services that make outbound WebSocket connections to third parties, but not a mass-exploitation or spray-and-pray priority given its client-initiated nature and narrow affected-version window.

Exploit ScenarioDerived

An attacker stands up a malicious server (or compromises/MITMs one a victim client already connects to) that speaks HTTP/2 and WebSockets. When a vulnerable undici-based Node.js client opens a WebSocket to it over HTTP/2, the server deliberately fails the handshake and then destroys the connection, leaving an orphaned HTTP/2 stream with no error listener that emits an unhandled error and terminates the Node.js process. No public exploit code was provided in the input, but the trigger is trivial and requires no authentication from the server side.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 15, 2026

Denial of service in undici 8.11.0 and 8.11.1 allows a malicious or attacker-controlled HTTP/2 WebSocket server to terminate the Node.js process of any client that connects to it. Because the experimental WebSocket client is enabled by default whenever HTTP/2 is permitted (allowH2 defaults to true), an unauthenticated remote server can abort a failed handshake, leave the underlying HTTP/2 stream orphaned without an error listener, and then destroy the connection so the stream emits an uncaught error that crashes Node.js. Severity is rated CVSS 3.1 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, CWE-248); there is no confirmed active exploitation (not in CISA KEV) and no public exploit code identified at time of analysis, and vendor-released patch 8.11.2 is available.

RemediationAI

Vendor-released patch: undici 8.11.2 - upgrade to 8.11.2 or later, which is the definitive fix per advisory GHSA-qq8j-7v2v-3rwp (https://github.com/nodejs/undici/security/advisories/GHSA-qq8j-7v2v-3rwp) and the openjs CNA listing (https://cna.openjsf.org/security-advisories.html). If upgrading cannot be done immediately, two documented workarounds fully remove the exposure: set allowH2 to false for WebSocket connections so the client negotiates HTTP/1.1 instead - an effective mitigation, with the trade-off that you lose HTTP/2 multiplexing and header compression and fall back to one connection per request semantics for those sockets - or simply avoid opening WebSocket connections to untrusted or attacker-influenceable servers, which is a policy control that costs nothing technically but requires inventorying every outbound WebSocket target. Standard hardening around the crash symptom, such as a process supervisor or cluster worker restart, reduces outage duration but does not prevent the unhandled-exception termination, so treat it as containment rather than a fix.

Affected VersionsENISA

undici 8.11.0 <8.11.2

Affected Packages

euvd undici fix: 8.11.2

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 the HTTP/1.1 and HTTP/2 client library maintained under the Node.js project; the flaw lives in its experimental WebSocket client, which is used whenever HTTP/2 support is allowed because allowH2 defaults to true. The root-cause class is CWE-248 (Uncaught Exception): in versions 8.11.0 and 8.11.1, when a WebSocket handshake over HTTP/2 fails, the request object is already marked completed, so the client-side abort becomes a no-op and the underlying HTTP/2 stream is left open and detached without an attached 'error' listener. If the remote server subsequently destroys the connection, that orphaned stream emits an 'error' event with no handler, and Node.js's default behavior for unhandled error events is to terminate the process. The CPE cpe:2.3:a:undici:undici:*:*:*:*:*:*:*:* labels the package broadly, but the description and advisory scope the defect specifically to the 8.11.0 and 8.11.1 releases of the experimental WebSocket-over-HTTP/2 path; the HTTP client and HTTP/1.1 WebSocket paths are unaffected.

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

Vendor (openjs) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

Server-side trigger needs no authentication (PR:N) and is network-reachable and trivial (AV:N/AC:L); impact is a process crash only, so C:N/I:N/A:H with no scope change.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Red Hat 7.5 HIGH

Primary rating from Vendor (openjs).

CVSS VectorVendor: openjs

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

2
Patch available
Oct 15, 2026 - 10:16 EUVD
CVE Published
Oct 15, 2026 - 08:12 cve.org
HIGH 7.5

DescriptionCVE.org

undici is an HTTP client library for Node.js. In versions 8.11.0 and 8.11.1, its experimental WebSocket client, which is enabled by default when HTTP/2 is allowed, mishandles a failed WebSocket handshake over HTTP/2: the request is already marked completed, so the abort becomes a no-op and the underlying HTTP/2 stream is left open with no error listener. When a malicious server then destroys the connection, the orphaned stream emits an unhandled error and the Node.js process exits. A remote, unauthenticated server can therefore crash any client that opens a WebSocket to it over HTTP/2, resulting in a denial of service. The issue is fixed in undici 8.11.2, and users should upgrade to 8.11.2 or later. As a workaround, set allowH2 to false to disable HTTP/2 for WebSocket connections, or avoid opening WebSocket connections to untrusted servers.

Technical POC Analysis

Bug class: CWE-248 (Uncaught Exception), with CWE-754 (improper check for an unusual/exceptional condition) as the underlying defect.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

undici versions 8.11.0 and 8.11.1, a Node.js HTTP client library, contain a high-severity denial-of-service vulnerability that allows an unauthenticated remote attacker to crash the Node.js process by connecting to a malicious HTTP/2 WebSocket server. Organizations using these versions in applications that communicate with external or untrusted servers face service outages, potentially impacting customer-facing services and internal operations. According to current intelligence, no public exploit identified at time of analysis, but leadership should prioritize immediate patching to version 8.11.2 to mitigate risk.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
High
undici is Node.js's default HTTP client, but only two releases affected
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Undici

View all
CVE-2022-35949 CRITICAL POC
9.8 Aug 12

undici is an HTTP/1.1 client, written from scratch for Node.js.`undici` is vulnerable to SSRF (Server-side Request Forge

CVE-2026-12151 HIGH POC
7.5 Jun 17

Memory exhaustion denial of service in the undici WebSocket client (versions 6.17.0 and later) allows a malicious or com

CVE-2026-14643 HIGH POC
7.5 Jul 29

Cross-user information disclosure in undici's cache interceptor allows authenticated users' responses to be served from

CVE-2026-16729 MEDIUM POC
6.5 Jul 29

Cookie attribute injection in undici's setCookie function allows attacker-controlled domain values or unparsed array ent

CVE-2022-31151 MEDIUM POC
6.5 Jul 21

Authorization headers are cleared on cross-origin redirect. Rated medium severity (CVSS 6.5), this vulnerability is remo

CVE-2022-32210 MEDIUM POC
6.5 Jul 14

`Undici.ProxyAgent` never verifies the remote server's certificate, and always exposes all request & response data to th

CVE-2026-15157 MEDIUM POC
5.4 Jul 29

CRLF injection in undici's HTTP/1.1 dispatcher enables HTTP header injection and potential request smuggling when applic

CVE-2023-23936 MEDIUM POC
5.4 Feb 16

Undici is an HTTP/1.1 client for Node.js. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploitable,

CVE-2022-35948 MEDIUM POC
5.3 Aug 15

undici is an HTTP/1.1 client, written from scratch for Node.js.`=< undici@5.8.0` users are vulnerable to _CRLF Injection

CVE-2026-13697 CRITICAL
9.1 Jul 29

Cross-user information disclosure and a parse-time denial of service in undici's HTTP cache interceptor affect versions

CVE-2026-84961 CRITICAL
9.1 Sep 04

TLS certificate validation bypass in undici's BalancedPool dispatcher silently discards function-valued options - includ

CVE-2026-6734 HIGH
8.8 Jun 17

Cross-origin request misrouting in undici's Socks5ProxyAgent (introduced in 7.23.0, affecting all releases through 8.1.0

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy