Skip to content
OpenAdvisories
Medium · 5.3 Public exploit CVE-2026-77680 EUVD-2026-66111GHSA-9m98-w4qj-8f6q

Libsoup3: libsoup: quadratic cpu denial of service in http range coalescing after cve-2025-32907 fix

Published Aug 25, 2026 · Updated Nov 6, 2026 · Assigned by redhat

Description

An algorithmic complexity flaw exists in libsoup's HTTP Range header processing that persists after the CVE-2025-32907 fix.

CVE-2025-32907 addressed memory amplification when a client repeated the same range many times in a single Range header. Commit 9bb92f7a corrected merge correctness in soup_message_headers_get_ranges_internal() in libsoup/soup-message-headers.c, but the coalescing loop still removes merged ranges using g_array_remove_index() for each coalesced element. Because GArray is contiguous, each mid-array removal performs an O(N) memmove. When many identical satisfiable ranges are supplied (for example bytes=0-0 repeated thousands of times), the loop performs O(N²) work coalescing them into a single range.

The vulnerable path is reachable server-side from handle_partial_get() in libsoup/server/http1/soup-server-message-io-http1.c when a SoupServer handler returns HTTP 200 with a non-empty body. No authentication is required. The number of ranges is bounded only by the maximum request header size (~100 KiB), allowing roughly 25,000 ranges per request. Reporter measurements on libsoup HEAD containing the CVE-2025-32907 fix show ~90 ms single-core CPU per such request at the wire maximum, blocking the server's event loop for that duration.

This is a CPU exhaustion / availability issue only. No memory corruption or information disclosure occurs.

Affected: libsoup versions containing the CVE-2025-32907 fix but not merge request !550.
Fixed upstream: MR !550 merged 2026-08-20, replacing per-element removal with O(N) in-place compaction and rejecting Range headers requesting more than 200 ranges.
Upstream report: https://gitlab.gnome.org/GNOME/libsoup/-/issues/538
Related: CVE-2025-32907

Affected products

VendorProductAffectedFixed
Red Hat Red Hat Enterprise Linux 10 — —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 13 libsoup3 +1 No fix yet —
Debian 12 libsoup3 +1 No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 libsoup2.4 No fix yet —
Ubuntu 26.10 libsoup3 3.6.6-1ubuntu3 USN-8890-2
Ubuntu 26.04 LTS libsoup3 3.6.6-1ubuntu0.1 USN-8890-1
Ubuntu 24.04 LTS libsoup2.4 2.74.3-6ubuntu1.9 USN-8890-1
Ubuntu 24.04 LTS libsoup3 3.4.4-5ubuntu0.9 USN-8890-1
Ubuntu 22.04 LTS libsoup2.4 2.74.2-3ubuntu0.9 USN-8890-1
Show 5 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 26.04 LTS libsoup2.4 2.74.3-10.1ubuntu5+esm3 USN-8890-1
Ubuntu Pro 22.04 LTS libsoup3 3.0.7-0ubuntu1+esm9 USN-8890-1
Ubuntu Pro 20.04 LTS libsoup2.4 2.70.0-1ubuntu0.5+esm4 USN-8890-1
Ubuntu Pro 18.04 LTS libsoup2.4 2.62.1-1ubuntu0.4+esm9 USN-8890-1
Ubuntu Pro 16.04 LTS libsoup2.4 2.52.2-1ubuntu0.3+esm8 USN-8890-1
ReleasePackageFixed inAdvisory
SLES 15 SP7 libsoup2 2.74.3-150600.4.42.1 SUSE-SU-2026:4703-1
SLES 15 SP6 libsoup2 2.74.3-150600.4.42.1 SUSE-SU-2026:4703-1
SLES 15 SP5 libsoup2 2.74.3-150400.3.43.1 SUSE-SU-2026:4739-1
SLES 15 SP4 libsoup2 2.74.3-150400.3.43.1 SUSE-SU-2026:4739-1
Show 8 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP6 libsoup2 2.74.3-150600.4.42.1 SUSE-SU-2026:4703-1
SLES for SAP 15 SP5 libsoup2 2.74.3-150400.3.43.1 SUSE-SU-2026:4739-1
SLES for SAP 15 SP4 libsoup2 2.74.3-150400.3.43.1 SUSE-SU-2026:4739-1
SLE Micro 5.5 libsoup2 2.74.3-150400.3.43.1 SUSE-SU-2026:4739-1
SLE Micro 5.4 libsoup2 2.74.3-150400.3.43.1 SUSE-SU-2026:4739-1
SLE Micro 5.3 libsoup2 2.74.3-150400.3.43.1 SUSE-SU-2026:4739-1
SLE HPC 15 SP5 libsoup2 2.74.3-150400.3.43.1 SUSE-SU-2026:4739-1
SLE HPC 15 SP4 libsoup2 2.74.3-150400.3.43.1 SUSE-SU-2026:4739-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed libsoup2 2.74.3-23.1 openSUSE-SU-2026:11860-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 libsoup +2 2.72.0-6.amzn2023.0.15 ALAS2023-2026-3154
Amazon Linux 2023 libsoup3 +2 3.7.2-1.amzn2023 ALAS2023-2026-3144
Amazon Linux 2 libsoup +1 2.56.0-6.amzn2.0.9 ALAS2-2026-3970

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 1 repository

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Advisories 8

References