Как определить достижимость CVE-2026-85534 в libsoup 3 при HTTP/2 upload из non-pollable stream и уменьшении flow-control window без вредоносного сервера.
Пять обязательных условий
Не помечайте приложение затронутым только по имени библиотеки. Нужны libsoup ветки 3.x в affected package range поставщика, клиентский HTTP/2, upload с request body, источник body без pollable interface и отложенный read, пока peer способен изменить flow-control window. Дополнительно важна доверенность endpoint: advisory предполагает server-controlled SETTINGS. Зафиксируйте каждое условие true/false/unknown. HTTP/1.1 download, пустой body или pollable bytes body не подтверждают эту конкретную ветку, хотя библиотека всё равно оценивается по support policy.
Runtime dependency
Определите библиотеку, реально загруженную процессом: package version/revision, shared-object path, build ID и linkage контейнера или Flatpak. Source manifest может отличаться от runtime. Не выводите environment, proxy credentials, URL с query и upload contents. Если vendor backport оставил старший номер версии, сопоставьте changelog или advisory дистрибутива с CVE, а не судите по upstream номеру. Несколько загруженных libsoup требуют отдельной строки для каждого процесса и transport path.
Безопасный reachability test
Создайте unit fixture вокруг функции, которая принимает уже синтетический buffered length и текущую callback capacity. Уменьшите capacity между планированием и callback и проверьте, что реализация ограничивает запись, повторно запрашивает окно или контролируемо завершает запрос без выхода за границу. Реальный HTTP/2 peer, сеть и рабочий payload не нужны. Включите sanitizers только в disposable build. Stop-rule действует, если предлагается подключиться к непроверенному серверу, загрузить секретный файл или намеренно уронить production session.
Временное снижение риска
До получения исправленного пакета исключите именно достижимую ветку: не отправляйте non-pollable streaming body по HTTP/2 на недоверенные endpoints. Red Hat отмечает вариант с soup_message_set_request_body_from_bytes как pollable path; применимость проверяют по вашей версии API и нагрузке. Можно временно ограничить endpoint allowlist или транспорт в конкретном клиенте, но нельзя глобально отключать TLS validation. Любой workaround должен быть обратимым, иметь владельца и срок удаления после vendor update.
Итоговый вердикт
PASS — runtime содержит vendor fix или проверенный upstream patch, а mock показывает invariant buffered_length <= current_capacity при уменьшении окна. REACHABLE — все условия подтверждены на affected build; обновление приоритетно, эксплуатационный тест не выполняется. NOT-REACHABLE — конкретное приложение не использует HTTP/2 upload или non-pollable body, что не отменяет lifecycle обновления. UNKNOWN — неизвестен stream type или vendor backport. Crash без подтверждения условий не доказывает эту CVE; соберите безопасный backtrace и версию.
Пакет для сопровождающего
В отчёт входят OS/package revision, process component, libsoup build ID, protocol, upload yes/no, stream pollability, endpoint trust class, mock capacity sequence, sanitizer result и vendor advisory. URL оставьте только как category, body size округлите, содержимое не сохраняйте. Исключите cookies, Authorization, proxy settings, файлы и внутренние hostnames. Отдельно укажите, был ли session abort в журнале, но не делайте вывод об атаке без сетевой и временной корреляции. Материал не утверждает массовость, code execution или универсальную уязвимость всех приложений libsoup.
Материал подготовлен редакцией VOne с помощью автоматизированного черновика. Факты и границы вывода сверены 4 сентября 2026 года по указанным прямым официальным и первичным источникам. Текст написан самостоятельно, опасные действия и реальные пользовательские данные в проверку не включены.
Источники и проверка
- Red Hat CVE-2026-85534 проверено 2026-09-04
- CVE record CVE-2026-85534 проверено 2026-09-04
- libsoup HTTP/2 client implementation проверено 2026-09-04
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.