Impact: The undici WebSocket client enforces maxPayloadSize on the cumulative byte count of fragments in a message but does not enforce a limit on the number of fragments. A malicious WebSocket server can stream many small or empty continuation frames that each pass per-frame and cumulative-size validation, collectively 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(...)) or the WebSocketStream API that can be induced to connect to an attacker-controlled or compromised WebSocket endpoint. All releases starting at undici 6.17.0 are affected. Patches: Upgrade to undici >= 6.26.0, >= 7.28.0, or >= 8.5.0. Workarounds: No workaround is available. The fix must be applied through an upgrade.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HNode.js Undici
APPNodejs6.17.0 – 6.27.0 (bez)7.0.0 – 7.28.0 (bez)8.0.0 – 8.5.0 (bez)
Related vulnerabilities
Impact: undici's ProxyAgent silently drops the requestTls option when configured with a SOCKS5 proxy URI (sock...
Impact: The undici WebSocket client enforces maxPayloadSize per-frame but does not enforce the cumulative size...
Impact: When using Socks5ProxyAgent, undici reuses a single connection pool across different origins without v...
The undici WebSocket client is vulnerable to a denial-of-service attack via unbounded memory consumption durin...
ImpactThe undici WebSocket client is vulnerable to a denial-of-service attack due to improper validation of th...