libsoup WebSocket Decompression Vulnerability Leading to Denial-of-Service

Vulnerability

A denial-of-service vulnerability has been identified in libsoup's WebSocket implementation, specifically when the permessage-deflate extension is used. The issue arises because the decompression loop in the extension processes data in chunks without enforcing a maximum limit on the output buffer size. Although libsoup restricts the size of incoming compressed frames, it does not monitor or limit memory allocation during decompression. This flaw allows a remote, unauthenticated attacker to send a small, highly compressed payload that decompresses to a much larger size, causing unbounded memory allocation. The resulting memory exhaustion leads to an out-of-memory crash, disrupting service.

Impact

Exploitation of this vulnerability causes applications or services to crash after running out of memory. This can severely disrupt any active WebSocket connections, whether on the client or server side.

Reproduction

The vulnerability can be reproduced by creating a WebSocket server that sends a small, highly compressed payload (a decompression bomb) to a client application using libsoup with the permessage-deflate extension enabled. The server can be set up to send the compressed payload, which will then be decompressed by the client, causing an out-of-memory crash. This issue can also be reproduced on the server side by having a malicious client send a decompression bomb to a libsoup WebSocket server.

Added: Jul 15, 2026, 5:51 AM
Updated: Jul 15, 2026, 5:51 AM

Vulnerability Rating

Custom Algorithm
spread
7.3
impact
2.5
exploitability
9.5
remediation
7.7
relevance
9.3
threat
6.4
urgency
2.9
incentive
8.3

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.