CVE-2026-1526
JavaScript vulnerability analysis and mitigation

Overview

CVE-2026-1526 is a denial-of-service vulnerability in the undici WebSocket client caused by unbounded memory consumption during permessage-deflate decompression. A malicious WebSocket server can send a small compressed frame (a "decompression bomb") that expands to an extremely large size in memory, causing the Node.js process to exhaust available memory and crash or become unresponsive. Affected versions include undici prior to 6.24.0 and versions 7.0.0 through 7.23.x. The vulnerability was disclosed on March 12, 2026, with a CVSS v3.1 base score of 7.5 (High) (Github Advisory, Red Hat CVE).

Technical details

The root cause is classified under CWE-409 (Improper Handling of Highly Compressed Data / Data Amplification) and CWE-770 (Allocation of Resources Without Limits or Throttling). The flaw resides in the PerMessageDeflate.decompress() method, which accumulates all decompressed chunks in memory and concatenates them into a single Buffer without enforcing any upper bound on the total decompressed size. When a WebSocket connection negotiates the permessage-deflate extension per RFC 7692, an attacker-controlled server can send a crafted compressed frame of approximately 6 MB that decompresses to 1 GB or more, exhausting native/external memory and bypassing V8 heap limits — meaning no application-level mitigation can intercept the decompression before memory is consumed. The vulnerability requires no authentication or user interaction and is exploitable over the network (Github Advisory, Red Hat Bugzilla).

Impact

Successful exploitation results in a complete denial-of-service condition for any Node.js application using undici's WebSocket client. A single malicious compressed WebSocket frame can cause the Node.js process to exhaust available memory and crash or become permanently unresponsive, with no confidentiality or integrity impact. Because memory exhaustion occurs in native/external memory (bypassing V8 heap limits), the impact cannot be mitigated at the application layer once decompression begins, and the affected scope extends to all downstream services dependent on the crashed process (Github Advisory).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation at this time (Github Advisory). The vulnerability was originally reported via HackerOne (report #3481206) and assigned by the OpenJS Foundation CNA. The EPSS score is approximately 0.021% (6th percentile), indicating a low near-term exploitation probability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog. No threat actor attribution has been identified (Red Hat CVE).

Exploitation steps

  1. Set up a malicious WebSocket server: Deploy a WebSocket server that advertises support for the permessage-deflate extension during the WebSocket handshake (per RFC 7692).
  2. Negotiate the extension: When a vulnerable undici client connects, complete the WebSocket upgrade handshake, ensuring permessage-deflate is negotiated in the Sec-WebSocket-Extensions header.
  3. Craft a decompression bomb: Prepare a highly compressed payload — for example, a deflate-compressed frame of approximately 6 MB that decompresses to 1 GB or more of repeated data (e.g., a large block of zeros or repeated characters).
  4. Send the compressed frame: Transmit the crafted compressed WebSocket frame to the connected undici client.
  5. Trigger memory exhaustion: The PerMessageDeflate.decompress() method in undici decompresses the frame without size limits, accumulating all chunks in memory until the Node.js process exhausts available RAM and crashes or becomes unresponsive (Github Advisory, Red Hat Bugzilla).

Indicators of compromise

  • Process Behavior: Node.js process memory usage (RSS/external memory) growing rapidly and continuously after establishing a WebSocket connection; process crash or OOM-killer termination shortly after connecting to an external WebSocket server.
  • Logs: Operating system OOM (Out-of-Memory) killer log entries referencing the Node.js process (e.g., kernel: Out of memory: Kill process <pid> (node) in /var/log/syslog or dmesg); application crash logs or unhandled exception traces from undici's WebSocket handler.
  • Network: WebSocket connections to unexpected or untrusted external servers with Sec-WebSocket-Extensions: permessage-deflate negotiated; large inbound WebSocket frames (compressed size ~6 MB or more) from a single source shortly before process crash.
  • System: Sudden spike in system memory consumption correlated with WebSocket activity; container or pod restarts due to memory limit violations in orchestrated environments (Github Advisory).

Mitigation and workarounds

Users should upgrade undici to version 6.24.0 (for the 6.x branch) or 7.24.0 (for the 7.x branch), which enforce size limits during decompression. No application-level workaround is possible, as decompression occurs before message delivery. As interim network-level controls, restrict WebSocket connections to trusted servers only and implement resource limits (memory cgroups, container limits) to prevent complete system exhaustion. Red Hat has issued multiple errata addressing this issue across RHEL 8, 9, and 10 (RHSA-2026:7080, RHSA-2026:7123, RHSA-2026:7302, RHSA-2026:7350, RHSA-2026:7670, RHSA-2026:7675, RHSA-2026:7983, and others) (Github Advisory, Red Hat Bugzilla).

Community reactions

The advisory was published by maintainer mcollina on the nodejs/undici GitHub repository on March 12, 2026, with remediation review by UlisesGascon. IBM issued multiple security bulletins acknowledging the impact on products including IBM API Connect, IBM Cloud Pak for Integration, IBM QRadar Suite Software, IBM App Connect Enterprise, IBM watsonx Orchestrate, and IBM Observability with Instana (IBM CP4I Advisory, IBM API Connect). The vulnerability received coverage on security aggregation platforms and social media shortly after disclosure, with mentions on Mastodon and Bluesky, though no significant researcher controversy or widespread community debate was observed.

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

node-undici

Fixed

sid

node-undici: 7.24.5+dfsg+~cs3.2.0-1

Fixed

trixie

node-undici

Affected

Ubuntu

Unknown

devel

node-undici

Unknown

noble

node-undici

Unknown

noble (esm-apps)

node-undici

Unknown

resolute

node-undici

Unknown

resolute (esm-apps)

node-undici

Unknown

RHEL / CentOS

Fixed

OpenShift

el9:odf4/cephcsi-rhel9-0:v4.18.27

Fixed

RHEL 8

:appstream:nodejs:22/nodejs/nodejs-0:24.14.1-2.module%2Bel8.10.0%2B24190%2B49a46c75

Fixed

RHEL 9

:appstream:nodejs:22:9060020260409121057:rhel9/nodejs-packaging-0:22-9060020260409121057.rhel9.src

Fixed

RHEL 10

nodejs22-1:22.22.2-2.el10_0.src

Fixed

SourceThis report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-59160HIGH8.8
  • JavaScript logoJavaScript
  • @yeger/turbo-graph
NoYesSep 09, 2026
CVE-2026-59179HIGH8.3
  • JavaScript logoJavaScript
  • @openhop/server
NoYesSep 09, 2026
GHSA-x7m8-jrm8-hpvxHIGH8.1
  • JavaScript logoJavaScript
  • @eigenpal/docx-editor-core
NoYesSep 10, 2026
CVE-2026-59176HIGH7.8
  • JavaScript logoJavaScript
  • functype-mcp-server
NoYesSep 09, 2026
CVE-2026-59158HIGH7.5
  • JavaScript logoJavaScript
  • nuxt-ollama
NoYesSep 09, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management