CVE-2026-109932
Received Received - Intake

Memory Exhaustion in Undici WebSocket Client

Vulnerability report for CVE-2026-109932, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-15

Last updated on: 2026-10-15

Assigner: openjs

Description

undici is an HTTP client library for Node.js. In versions 5.15.0 through 6.29.0, 7.0.0 through 7.30.0, and 8.0.0 through 8.12.1, its WebSocket client, including the bundled WebSocket exposed by Node.js, can be driven to exhaust process memory by a malicious or compromised WebSocket server. For every PING frame received, the client automatically writes a PONG response and ignores the backpressure signal from the socket write, so a server that streams small PING frames while never reading the client's PONGs makes the outbound write queue and heap grow without bound until the Node.js process runs out of memory and terminates. The attack is remote and unauthenticated, needs only a normal WebSocket connection, and is asymmetric, since small inbound PINGs produce a much larger retained outbound queue, with availability the only impact. The issue is fixed in undici 6.29.1, 7.30.1, and 8.12.2, which pause WebSocket frame parsing when the automatic PONG response hits socket backpressure and resume on drain, bounding the outbound queue, and users should upgrade to one of those versions or later. There is no workaround.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-15
Last Modified
2026-10-15
Generated
2026-10-16
AI Q&A
2026-10-16
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
undici undici 5.15.0
undici undici 7.0.0
undici undici 8.0.0

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-770 The product allocates a reusable resource or group of resources on behalf of an actor without imposing any intended restrictions on the size or number of resources that can be allocated.
CWE-400 The product does not properly control the allocation and maintenance of a limited resource.
CWE-405 The product does not properly control situations in which an adversary can cause the product to consume or produce excessive resources without requiring the adversary to invest equivalent work or otherwise prove authorization, i.e., the adversary's influence is "asymmetric."

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects the undici HTTP client library for Node.js. It allows a malicious WebSocket server to exhaust the client's memory by sending continuous small PING frames. The client automatically responds with PONG frames without respecting backpressure, causing the outbound write queue and heap to grow indefinitely until the process crashes.

Detection Guidance

Monitor Node.js processes for abnormal memory usage or crashes after WebSocket connections. Check for continuous PING frames in WebSocket traffic using network tools like Wireshark or tcpdump. Look for processes running vulnerable undici versions (5.15.0-6.29.0, 7.0.0-7.30.0, 8.0.0-8.12.1).

  • Use Node.js process monitoring tools (e.g., pm2, nodemon) to track memory spikes during WebSocket operations.
Impact Analysis

The impact is limited to availability loss. Your Node.js application using the vulnerable undici versions may crash or become unresponsive due to memory exhaustion when interacting with a malicious WebSocket server. This can disrupt services relying on WebSocket connections.

Mitigation Strategies

Upgrade undici to versions 6.29.1, 7.30.1, or 8.12.2 or later. If using Node.js, ensure it bundles a patched undici version. Disable or restrict WebSocket connections from untrusted sources until patched.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-109932. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart