CVE-2026-77680
Libsoup3: libsoup: quadratic cpu denial of service in http range coalescing after cve-2025-32907 fix
Что произошло
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
Что это значит
В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.
Что делать
1. Проверьте, затронуты ли вы
Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.
dpkg-query -W -f='${Package} ${Version}\n'rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'Get-HotFix | Select-Object HotFixID, InstalledOn
2. Установите исправление
Сверьте точный продукт и версию с бюллетенем вендора. Установите указанное в нём исправление после резервного копирования и проверки совместимости. Подтверждённая целевая версия в источниках отсутствует.
3. Временные меры
Upgrade to a libsoup version containing merge request !550 (O(N) range coalescing and 200-range limit). Until patched, restrict network access to services using SoupServer, or terminate connections that send Range headers with excessive range counts.
4. Проверьте следы эксплуатации
Проверьте аномальные входы, новые учётные записи, ошибки и необычные дочерние процессы в затронутом сервисе. Публичные проверенные правила обнаружения не включены в запись; отсутствие сигналов не доказывает отсутствие компрометации.
5. После исправления
- Проверьте фактическую версию и результат установки по бюллетеню.
- При необходимости перезапустите сервисы в согласованное окно.
- Повторите проверку сканером и функциональные проверки.
- Зафиксируйте результат, дату, владельца и оставшийся риск.
Продукты и затронутые версии
Red Hat / Red Hat Enterprise Linux 10
cpe:/a:redhat:enterprise_linux:10
CVSS: оценки и векторы
CVSS 3.1 · cve5.3
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
CVSS 3.1 · secalert@redhat.com5.3
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Источники и ссылки
Происхождение полей
{
"cwes": [
"cve",
"nvd"
],
"epss": {
"source": "epss",
"received_at": "2026-11-06T21:15:31.522158+00:00"
},
"title": {
"source": "cve",
"received_at": "2026-11-06T00:51:14.523506+00:00"
},
"scores": [
"cve",
"nvd"
],
"status": {
"source": "cve",
"received_at": "2026-11-06T00:51:14.523506+00:00"
},
"affected": [
"cve"
],
"published": {
"source": "cve",
"received_at": "2026-11-06T00:51:14.523506+00:00"
},
"solutions": [],
"percentile": {
"source": "epss",
"received_at": "2026-11-06T21:15:31.522158+00:00"
},
"references": [
"cve",
"nvd"
],
"description": {
"source": "cve",
"received_at": "2026-11-06T00:51:14.523506+00:00"
},
"workarounds": [
"cve"
],
"configurations": []
}Хронология записи
- Данные обновлены07.11.2026, 00:15
- Данные обновлены06.11.2026, 04:33
- Данные обновлены06.11.2026, 03:51
- Данные обновлены06.11.2026, 00:16
- Данные обновлены05.11.2026, 00:20
- Данные обновлены04.11.2026, 00:15
- Данные обновлены03.11.2026, 00:14
- Данные обновлены02.11.2026, 00:12
- Данные обновлены31.10.2026, 11:59
- Данные обновлены29.10.2026, 12:41
- Появилась ссылка на PoC28.10.2026, 23:24
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| CVE-2026-12080 Qemu-kvm: qemu-guest-agent: local privilege escalation via symlink attack in guest-ssh-add-authorized-keys Red Hat / Red Hat Enterprise Linux 9 · Red Hat / Red Hat OpenShift Container Platform 4.22 | Высокий | 7.3 | 0,14 % | 20.07.2026 | ||
| CVE-2026-71226 Libkcapi: memory corruption via uncanceled aio requests on error in libkcapi's one-shot aio path Stephan Muelle / libkcapi · Red Hat / Red Hat Enterprise Linux 10 | Высокий | 7.3 | 0,14 % | 05.08.2026 | ||
| CVE-2024-6505 Qemu-kvm: virtio-net: queue index out-of-bounds access in software rss · Red Hat / Red Hat Enterprise Linux 10 | Средний | 6.8 | 0,66 % | 05.07.2024 | ||
| CVE-2026-123876 Podman: containers-common: containers-common: default seccomp af_vsock/netlink_audit deny rules bypassable via 32-bit truncation Red Hat / Red Hat Enterprise Linux 10 · Red Hat / Red Hat Enterprise Linux 8 | Средний | 4.4 | — | 06.11.2026 | ||
| CVE-2024-6655 Gtk3: gtk2: library injection from cwd · Red Hat / Red Hat Enterprise Linux 8 | Высокий | 7.0 | 0,47 % | 16.07.2024 |