GitHub Advisoryadvisory · npm

GHSA-9fm3-97px-rjf6 undici WebSocket client vulnerable to Denial of Service via unbounded automatic PONG buffering

MEDIUM Published 2026-10-27 Modified 2026-10-27 Official page ↗
Aliases
CVE-2026-109932
Ecosystem
npm
Packages
undici
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-400, CWE-405, CWE-770
Reviewed
2026-10-27

Affected packages

• npm undici: >= 5.15.0, < 6.29.1 → fixed in 6.29.1 • npm undici: >= 7.0.0, < 7.30.1 → fixed in 7.30.1 • npm undici: >= 8.0.0, < 8.12.2 → fixed in 8.12.2

Description

Impact undici's WebSocket client (including Node.js's bundled `globalThis.WebSocket`) can be driven to exhaust process memory by a malicious or compromised WebSocket server. For every PING frame received, the receiver automatically writes a PONG response to the socket and ignores the `false` return value from `socket.write()`, which is a backpressure signal, 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: small inbound PINGs produce a much larger retained outbound queue. Availability is the only impact. undici 5.x, 6.x, 7.x, and 8.x are affected; the WebSocket client was introduced in 5.15.0. Patches Upgrade to `6.29.1`, `7.30.1`, or `8.12.2`, which pause WebSocket frame parsing when the automatic PONG response hits socket backpressure and resume on drain, bounding the outbound queue. Workarounds None.

Related

Alias · CVE (1)

  • CVE-2026-109932 undici is an HTTP client library for Node.js. vulnerability

Weakness · CWE (3)

  • CWE-400 Uncontrolled Resource Consumption weakness
  • CWE-405 Asymmetric Resource Consumption (Amplification) weakness
  • CWE-770 Allocation of Resources Without Limits or Throttling weakness

References