CVE-2026-15709: libsoup WebSocket unbounded decompression memory exhaustion

CVE-2026-15709 · Severity: high · CVSS 7.5 · Published 2026-07-14

libsoup, a widely used HTTP client/server library for GNOME and GTK applications, is vulnerable to a 'decompression bomb' attack. An attacker can send a small, specially crafted compressed message that expands to a massive size when processed, exhausting the system's memory. This results in the affected application crashing, leading to a denial of service for users of web browsers like Epiphany or other desktop applications that rely on this library for WebSocket communications.

Technologies: Gnome Libsoup, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9. Vendors: Gnome, Red Hat.

Quick answers

Is CVE-2026-15709 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-15709 being exploited in the wild.
How severe is CVE-2026-15709?
High severity, with a CVSS score of 7.5, published 14 July 2026.
Which products and versions are affected?
Gnome Libsoup 3.2.3, 3.7.0.
Is there a fix for CVE-2026-15709?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-15709 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-15709?
Check whether you run Gnome Libsoup, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 8 or one of the others listed at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

A vulnerability exists in libsoup's WebSocket permessage-deflate extension due to improper handling of highly compressed data (CWE-409). The decompression loop in `soup-websocket-extension-deflate.c` uses `inflate()` to process data in chunks and dynamically grows a `GByteArray` buffer without enforcing an upper bound during the process. While `max_incoming_payload_size` limits the compressed size on the wire, the check for decompressed size (`max_total_message_size`) occurs only after decompression is complete. Furthermore, `max_total_message_size` defaults to unlimited for client connections. An unauthenticated remote attacker can send a small compressed frame (e.g., <128KB) that expands to hundreds of megabytes, triggering an Out-of-Memory (OOM) crash before the library can reject the message.

Affected products

  • GNOME libsoup 3.2.3, 3.7.0
  • Red Hat Red Hat Enterprise Linux 8
  • Red Hat Red Hat Enterprise Linux 9
  • Red Hat Red Hat Enterprise Linux 10

Timeline

  • 2026-07-14: disclosed: Vulnerability reported via Red Hat and GNOME GitLab
  • 2026-07-14: advisory: CVE-2026-15709 published

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.