HighGHSA-38rv-x7px-6hhqCVE-2026-9675

undici WebSocket client vulnerable to denial of service via cumulative fragment bypass

Published 18 Jun 2026 · Updated 18 Jun 2026

Affected package

Affected
>=8.0.0 <8.5.0
Fixed in
8.5.0
Update to the fixed version for your release line, for example:npm install undici@8.5.0

Details

Impact

The undici WebSocket client enforces maxPayloadSize per-frame but does not enforce the cumulative size of fragmented uncompressed messages. A malicious WebSocket server can stream many small fragments that each pass per-frame validation but collectively exceed the configured limit, causing unbounded memory growth in the client process. The result is memory exhaustion and a denial of service.

Affected applications are those using the undici WebSocket client (new WebSocket(...)) that can be induced to connect to an attacker-controlled or compromised WebSocket endpoint.

This is a regression specific to undici 8.1.0. The 6.25.0 line shipped the equivalent cumulative check from the start and is unaffected. The 7.x line never had the maxPayloadSize feature and is also unaffected.

Patches

Upgrade to undici >= 8.5.0.

Workarounds

No workaround is available. The fix must be applied through an upgrade.

Is GHSA-38rv-x7px-6hhq in any of your client repos?

Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected undici, and gives you the command that fixes it.

References

Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.