CVE-2026-77680
Reported by redhat · Published August 25, 2026
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
Fixed versions
Upgrade to a fixed version or later. Language registries are listed first, then Linux distributions, then vendor products.
| Package | Ecosystem | Fixed in |
|---|---|---|
| libsoup-devel | Amazon Linux | 2.72.0-6.amzn2023.0.15, 2.56.0-6.amzn2.0.9 |
| libsoup | Amazon Linux | 2.72.0-6.amzn2023.0.15, 2.56.0-6.amzn2.0.9 |
| libsoup3 | Amazon Linux | 3.7.2-1.amzn2023 |
| libsoup3-devel | Amazon Linux | 3.7.2-1.amzn2023 |
| libsoup3-doc | Amazon Linux | 3.7.2-1.amzn2023 |
| libsoup-doc | Amazon Linux | 2.72.0-6.amzn2023.0.15 |
Risk scores
Affected products
| Vendor | Product | Versions |
|---|---|---|
| Red Hat | Red Hat Enterprise Linux 10 | |
| amazon:2 | libsoup-devel | 0 |
| amazon:2 | libsoup | 0 |
| amazon:2023 | libsoup3 | 0 |
| amazon:2023 | libsoup3-devel | 0 |
| Red Hat | Red Hat Enterprise Linux 10 | |
| amazon:2023 | libsoup3-doc | 0 |
| amazon:2023 | libsoup | 0 |
| amazon:2023 | libsoup-devel | 0 |
| amazon:2023 | libsoup-doc | 0 |
Timeline
- Aug 25, 2026 CVE Published
- Aug 26, 2026 EPSS Score (22 in total, the first dated here)
- Aug 26, 2026 Coalition ESS Score
- Aug 28, 2026 CVE Updated
- Sep 2, 2026 Security Advisory
Query this with the API
The same record, from the CLI:
vulnetix vdb vuln CVE-2026-77680
vulnetix vdb fixes CVE-2026-77680
Or with curl, using the org id and key from your account page:
curl -s -H "Authorization: ApiKey ${VULNETIX_ORG_ID}:${VULNETIX_API_KEY}" \
"https://api.vdb.vulnetix.com/v2/vuln/CVE-2026-77680/fixes/registry"
The Community plan is free and allows 50 queries a day. Get a free API key · API quickstart
References
- CVE-2025-32907 technical-descriptionx_refsource_REDHAT
- vdb-entryx_refsource_REDHAT
- RHBZ#2520892 issue-trackingx_refsource_REDHAT