Vulnerability Description
A flaw was found in libsoup's WebSocket implementation when using the permessage-deflate extension. The extension's decompression loop (inflate()) processes data in chunks without enforcing an upper boundary limit on the output buffer size. While libsoup limits the incoming compressed frame size via max_incoming_payload_size, it fails to track or limit memory allocation during decompression. A separate check for decompressed size (max_total_message_size) exists but executes only after inflation is complete, and it is entirely disabled by default for client connections. A remote, unauthenticated attacker can exploit this by sending a small, highly compressed payload (a decompression bomb), causing unbounded memory allocation that triggers an Out-of-Memory (OOM) crash and a Denial of Service (DoS).
CVSS Score
HIGH
Related Weaknesses (CWE)
References
- https://access.redhat.com/security/cve/CVE-2026-15709
- https://bugzilla.redhat.com/show_bug.cgi?id=2499922
- https://gitlab.gnome.org/GNOME/libsoup/-/issues/511
- https://gitlab.gnome.org/GNOME/libsoup/-/issues/511
FAQ
What is CVE-2026-15709?
CVE-2026-15709 is a vulnerability with a CVSS score of 7.5 (HIGH). A flaw was found in libsoup's WebSocket implementation when using the permessage-deflate extension. The extension's decompression loop (inflate()) processes data in chunks without enforcing an upper b...
How severe is CVE-2026-15709?
CVE-2026-15709 has been rated HIGH with a CVSS base score of 7.5/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2026-15709?
Check the references section above for vendor advisories and patch information. Review vendor security bulletins for remediation guidance.