{"id":"UBUNTU-CVE-2026-77680","details":"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","modified":"2026-09-18T01:00:14.091513570Z","published":"2026-08-25T21:17:00Z","upstream":["CVE-2026-77680"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-77680"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-77680"},{"type":"REPORT","url":"https://gitlab.gnome.org/GNOME/libsoup/-/issues/538"},{"type":"REPORT","url":"https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/550"}],"affected":[{"package":{"name":"libsoup2.4","ecosystem":"Ubuntu:Pro:16.04:LTS","purl":"pkg:deb/ubuntu/libsoup2.4?arch=source&distro=esm-infra-legacy%2Fxenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.50.0-2debian1","2.52.1-1","2.52.2-1","2.52.2-1ubuntu0.1","2.52.2-1ubuntu0.2","2.52.2-1ubuntu0.3","2.52.2-1ubuntu0.3+esm1","2.52.2-1ubuntu0.3+esm2","2.52.2-1ubuntu0.3+esm3","2.52.2-1ubuntu0.3+esm4","2.52.2-1ubuntu0.3+esm5","2.52.2-1ubuntu0.3+esm6","2.52.2-1ubuntu0.3+esm7"],"ecosystem_specific":{"binaries":[{"binary_name":"gir1.2-soup-2.4","binary_version":"2.52.2-1ubuntu0.3+esm7"},{"binary_name":"libsoup-gnome2.4-1","binary_version":"2.52.2-1ubuntu0.3+esm7"},{"binary_name":"libsoup2.4-1","binary_version":"2.52.2-1ubuntu0.3+esm7"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-77680.json"}},{"package":{"name":"libsoup2.4","ecosystem":"Ubuntu:Pro:18.04:LTS","purl":"pkg:deb/ubuntu/libsoup2.4?arch=source&distro=esm-infra%2Fbionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.60.1-1","2.60.2-1","2.60.2-2","2.60.3-1","2.61.90-1","2.62.0-1","2.62.1-1","2.62.1-1ubuntu0.1","2.62.1-1ubuntu0.3","2.62.1-1ubuntu0.4","2.62.1-1ubuntu0.4+esm1","2.62.1-1ubuntu0.4+esm2","2.62.1-1ubuntu0.4+esm3","2.62.1-1ubuntu0.4+esm4","2.62.1-1ubuntu0.4+esm5","2.62.1-1ubuntu0.4+esm6","2.62.1-1ubuntu0.4+esm7","2.62.1-1ubuntu0.4+esm8"],"ecosystem_specific":{"binaries":[{"binary_version":"2.62.1-1ubuntu0.4+esm8","binary_name":"gir1.2-soup-2.4"},{"binary_version":"2.62.1-1ubuntu0.4+esm8","binary_name":"libsoup-gnome2.4-1"},{"binary_name":"libsoup2.4-1","binary_version":"2.62.1-1ubuntu0.4+esm8"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-77680.json"}},{"package":{"name":"libsoup2.4","ecosystem":"Ubuntu:Pro:20.04:LTS","purl":"pkg:deb/ubuntu/libsoup2.4?arch=source&distro=esm-infra%2Ffocal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.68.2-0ubuntu1","2.68.2-1","2.68.2-2","2.68.2-2build2","2.69.90-1","2.70.0-1","2.70.0-1ubuntu0.1","2.70.0-1ubuntu0.2","2.70.0-1ubuntu0.3","2.70.0-1ubuntu0.4","2.70.0-1ubuntu0.5","2.70.0-1ubuntu0.5+esm1","2.70.0-1ubuntu0.5+esm2","2.70.0-1ubuntu0.5+esm3"],"ecosystem_specific":{"binaries":[{"binary_version":"2.70.0-1ubuntu0.5+esm3","binary_name":"gir1.2-soup-2.4"},{"binary_name":"libsoup-gnome2.4-1","binary_version":"2.70.0-1ubuntu0.5+esm3"},{"binary_name":"libsoup2.4-1","binary_version":"2.70.0-1ubuntu0.5+esm3"},{"binary_name":"libsoup2.4-tests","binary_version":"2.70.0-1ubuntu0.5+esm3"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-77680.json"}},{"package":{"name":"libsoup2.4","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/libsoup2.4?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.72.0-3ubuntu3","2.74.1-1","2.74.2-2","2.74.2-3","2.74.2-3ubuntu0.1","2.74.2-3ubuntu0.2","2.74.2-3ubuntu0.3","2.74.2-3ubuntu0.4","2.74.2-3ubuntu0.5","2.74.2-3ubuntu0.6","2.74.2-3ubuntu0.7","2.74.2-3ubuntu0.8"],"ecosystem_specific":{"binaries":[{"binary_name":"gir1.2-soup-2.4","binary_version":"2.74.2-3ubuntu0.8"},{"binary_name":"libsoup-gnome2.4-1","binary_version":"2.74.2-3ubuntu0.8"},{"binary_name":"libsoup2.4-1","binary_version":"2.74.2-3ubuntu0.8"},{"binary_name":"libsoup2.4-common","binary_version":"2.74.2-3ubuntu0.8"},{"binary_name":"libsoup2.4-tests","binary_version":"2.74.2-3ubuntu0.8"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-77680.json"}},{"package":{"name":"libsoup3","ecosystem":"Ubuntu:Pro:22.04:LTS","purl":"pkg:deb/ubuntu/libsoup3?arch=source&distro=esm-apps%2Fjammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.0.4-2","3.0.4-3","3.0.5-1","3.0.7-0ubuntu1","3.0.7-0ubuntu1+esm1","3.0.7-0ubuntu1+esm2","3.0.7-0ubuntu1+esm3","3.0.7-0ubuntu1+esm4","3.0.7-0ubuntu1+esm5","3.0.7-0ubuntu1+esm6","3.0.7-0ubuntu1+esm7","3.0.7-0ubuntu1+esm8"],"ecosystem_specific":{"binaries":[{"binary_name":"gir1.2-soup-3.0","binary_version":"3.0.7-0ubuntu1+esm8"},{"binary_name":"libsoup-3.0-0","binary_version":"3.0.7-0ubuntu1+esm8"},{"binary_name":"libsoup-3.0-common","binary_version":"3.0.7-0ubuntu1+esm8"},{"binary_name":"libsoup-3.0-tests","binary_version":"3.0.7-0ubuntu1+esm8"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-77680.json"}},{"package":{"name":"libsoup2.4","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/libsoup2.4?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.74.3-1","2.74.3-2","2.74.3-3","2.74.3-6","2.74.3-6build1","2.74.3-6ubuntu1","2.74.3-6ubuntu1.1","2.74.3-6ubuntu1.2","2.74.3-6ubuntu1.3","2.74.3-6ubuntu1.4","2.74.3-6ubuntu1.5","2.74.3-6ubuntu1.6","2.74.3-6ubuntu1.7","2.74.3-6ubuntu1.8"],"ecosystem_specific":{"binaries":[{"binary_version":"2.74.3-6ubuntu1.8","binary_name":"gir1.2-soup-2.4"},{"binary_version":"2.74.3-6ubuntu1.8","binary_name":"libsoup-2.4-1"},{"binary_name":"libsoup-gnome-2.4-1","binary_version":"2.74.3-6ubuntu1.8"},{"binary_version":"2.74.3-6ubuntu1.8","binary_name":"libsoup2.4-common"},{"binary_name":"libsoup2.4-tests","binary_version":"2.74.3-6ubuntu1.8"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-77680.json"}},{"package":{"name":"libsoup3","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/libsoup3?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.4.2-4","3.4.4-1","3.4.4-2","3.4.4-4","3.4.4-5","3.4.4-5build1","3.4.4-5build2","3.4.4-5ubuntu0.1","3.4.4-5ubuntu0.2","3.4.4-5ubuntu0.3","3.4.4-5ubuntu0.4","3.4.4-5ubuntu0.5","3.4.4-5ubuntu0.6","3.4.4-5ubuntu0.7","3.4.4-5ubuntu0.8"],"ecosystem_specific":{"binaries":[{"binary_name":"gir1.2-soup-3.0","binary_version":"3.4.4-5ubuntu0.8"},{"binary_name":"libsoup-3.0-0","binary_version":"3.4.4-5ubuntu0.8"},{"binary_version":"3.4.4-5ubuntu0.8","binary_name":"libsoup-3.0-common"},{"binary_version":"3.4.4-5ubuntu0.8","binary_name":"libsoup-3.0-tests"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-77680.json"}},{"package":{"name":"libsoup3","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/libsoup3?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.6.5-4","3.6.5-5","3.6.5-6","3.6.5-7","3.6.5-9","3.6.6-1"],"ecosystem_specific":{"binaries":[{"binary_name":"gir1.2-soup-3.0","binary_version":"3.6.6-1"},{"binary_version":"3.6.6-1","binary_name":"libsoup-3.0-0"},{"binary_name":"libsoup-3.0-common","binary_version":"3.6.6-1"},{"binary_version":"3.6.6-1","binary_name":"libsoup-3.0-tests"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-77680.json"}},{"package":{"name":"libsoup2.4","ecosystem":"Ubuntu:Pro:26.04:LTS","purl":"pkg:deb/ubuntu/libsoup2.4?arch=source&distro=esm-apps%2Fresolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.74.3-10.1ubuntu4","2.74.3-10.1ubuntu5","2.74.3-10.1ubuntu5+esm1","2.74.3-10.1ubuntu5+esm2"],"ecosystem_specific":{"binaries":[{"binary_name":"gir1.2-soup-2.4","binary_version":"2.74.3-10.1ubuntu5+esm2"},{"binary_version":"2.74.3-10.1ubuntu5+esm2","binary_name":"libsoup-2.4-1"},{"binary_version":"2.74.3-10.1ubuntu5+esm2","binary_name":"libsoup-gnome-2.4-1"},{"binary_name":"libsoup2.4-common","binary_version":"2.74.3-10.1ubuntu5+esm2"},{"binary_version":"2.74.3-10.1ubuntu5+esm2","binary_name":"libsoup2.4-tests"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-77680.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"},{"type":"Ubuntu","score":"medium"}]}