CVE: CVE-2026-91135
Продукт: Debian
Дата публикации: 02.10.2026
Критичность: CRITICAL
CVSS: 9.2 (4.0)
EPSS: 0,46%; процентиль 37,72%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
CVE-2026-91135 — критическая уязвимость переполнения буфера в Apache Thrift C++ (компонент THeaderTransport). При включённом ZLIB transform некорректная проверка размера при копировании сжатых данных приводит к записи за пределы heap-буфера.
В Debian уязвимы все поддерживаемые релизы (bookworm, forky, sid, trixie) с пакетом thrift до версии 0.25.0. Исправление выпущено в Apache Thrift 0.25.0, но в репозиториях Debian пока отсутствует.
Основные характеристики
Уязвимость представляет собой переполнение буфера в куче в Apache Thrift C++ при использовании ZLIB transform. Ошибка может привести к повреждению памяти и потенциально к выполнению кода, однако подтверждённых случаев эксплуатации нет.
- Тип ошибки: CWE-122 (Heap-based Buffer Overflow) — запись за пределы выделенной области кучи.
- CVSS v4.0: 9.2 (CRITICAL), вектор
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X— атака возможна удалённо без привилегий, но требует включённого ZLIB transform.
- EPSS: 0,46% (процентиль 37,72%) — низкая вероятность эксплуатации в ближайшие 30 дней.
- Статус в Debian: открыт, исправление не выпущено.
- Подтверждённая эксплуатация: сведений о реальных атаках нет.
Какие продукты и версии затронуты
Уязвимость затрагивает пакет
thrift (Apache Thrift C++ библиотека) в Debian. По данным Debian Security Tracker, статус CVE-2026-91135 — open (не исправлен) для всех поддерживаемых релизов, срочность не назначена. В репозиториях присутствуют следующие версии:- bookworm —
0.17.0-2
- forky —
0.23.0-3
- sid —
0.24.0-2
- trixie —
0.19.0-4
Все эти версии старше исправленной Apache Thrift 0.25.0, поэтому они уязвимы. Официальных исправленных пакетов в Debian на момент публикации нет.
Причина уязвимости
Причина уязвимости — отсутствие проверки размера буфера при копировании сжатых данных в функции
THeaderTransport::transform(). Когда приложение включает ZLIB transform, сжатый фрейм записывается в буфер без контроля, помещается ли он в выделенную область.Данные, которые не сжимаются (например, предоставленные удалённым пиром), при сжатии увеличиваются в размере, что приводит к записи за пределы heap-буфера. Для больших фреймов также возникает чтение за пределами transform-буфера. Ошибка классифицируется как CWE-122.
Как работает атака
Атака возможна, когда приложение использует Apache Thrift C++ с включённым ZLIB transform для отправляемых фреймов. Удалённый пир может отправить данные, которые плохо сжимаются (например, уже сжатые или случайные). При сжатии размер такого фрейма может увеличиться.
В функции
THeaderTransport::transform() сжатый фрейм копируется в буфер записи без проверки, помещается ли он туда. Это приводит к записи за пределы heap-буфера. Для больших фреймов также возникает чтение за пределами transform-буфера, что дополнительно усугубляет повреждение памяти.Условия успешной эксплуатации
Для успешной эксплуатации необходимо выполнение следующих условий:
- приложение использует Apache Thrift C++ и включает ZLIB transform для отправляемых фреймов;
- злоумышленник имеет возможность отправлять данные в это приложение (сетевой доступ);
- размер отправляемого фрейма достаточен для того, чтобы при сжатии произошло переполнение (точные пороговые значения не раскрыты).
Дополнительные требования, такие как необходимость аутентификации или особые настройки, в официальных источниках не указаны.
Возможный сценарий атаки
Типичный сценарий: злоумышленник, имеющий сетевой доступ к сервису, использующему Apache Thrift C++ с ZLIB transform, отправляет специально сформированный фрейм. Данные внутри фрейма подобраны так, чтобы при сжатии их размер увеличился.
При обработке фрейма происходит переполнение буфера, что может вызвать аварийное завершение процесса (отказ в обслуживании) или, при удачном стечении обстоятельств, привести к выполнению кода. Однако подтверждённых случаев эксплуатации в реальных атаках нет.
Есть ли публичный эксплойт
На момент публикации отсутствуют публичные PoC-эксплойты или технические описания, подтверждающие эксплуатацию CVE-2026-91135. В официальных источниках (NVD, Debian Security Tracker) упоминаются только ссылки на списки рассылки Apache. Отсутствие опубликованного эксплойта не означает, что уязвимость не может быть использована, но на данный момент нет подтверждённых случаев атак.
Признаки эксплуатации
На момент публикации нет подтверждённых индикаторов компрометации, специфичных для CVE-2026-91135. Отсутствие IOC не означает, что атака невозможна. В качестве общих признаков можно рассматривать:
- необъяснимые сбои или перезапуски процессов, использующих Apache Thrift;
- ошибки выделения памяти в журналах;
- подозрительные сетевые соединения с сервисом, особенно с нестандартными размерами пакетов.
Эти признаки неспецифичны и могут быть вызваны другими причинами.
Как обнаружить атаку
Специфичных индикаторов компрометации (IOC) для CVE-2026-91135 не опубликовано. Обнаружение атаки затруднено, так как переполнение буфера происходит в памяти процесса. Рекомендуется использовать общие методы контроля:
- мониторинг журналов приложений на предмет аварийных завершений (segfault, abort);
- наблюдение за аномальной сетевой активностью, особенно необычно большими фреймами;
- применение средств динамического анализа (например, AddressSanitizer) в тестовой среде для выявления переполнений;
- контроль целостности критичных процессов и их перезапусков.
Эти меры неспецифичны и не гарантируют обнаружение именно данной атаки, но помогают выявить последствия повреждения памяти.
Как проверить свою версию
Для проверки версии пакета
thrift в Debian выполните следующие команды:
Bash:
cat /etc/debian_version
cat /etc/os-release
apt-cache policy thrift
dpkg-query -W -f='${Package} ${Version}\n' thrift
Замените
<имя-пакета> на thrift, если используете обобщённый шаблон. Сравните полученную версию с исправленной (0.25.0). Если версия ниже, пакет уязвим.Исправление
Основное исправление — обновление Apache Thrift до версии 0.25.0, в которой устранена проблема. Для Debian необходимо дождаться выпуска обновлённого пакета
thrift в официальных репозиториях. Рекомендуется:- следить за обновлениями на Debian Security Tracker;
- после появления исправленной версии выполнить обновление через
apt;
- при невозможности обновления рассмотреть сборку пакета из исходников Apache Thrift 0.25.0 (требуется оценка рисков).
Пока исправление не доступно, следует применять временные меры.
Временные меры защиты
Официальных временных мер для CVE-2026-91135 не опубликовано. До появления исправления можно рассмотреть следующие действия:
- отключить использование ZLIB transform в приложениях на Apache Thrift, если это допустимо функционально;
- ограничить сетевой доступ к уязвимым сервисам с помощью межсетевого экрана или списков контроля доступа;
- использовать средства мониторинга для раннего обнаружения аномалий.
Эти меры не устраняют уязвимость, но снижают вероятность успешной атаки.
Как проверить устранение уязвимости
После установки обновления проверьте версию пакета
thrift:
Bash:
dpkg-query -W -f='${Package} ${Version}\n' thrift
или
Bash:
apt-cache policy thrift
Убедитесь, что установленная версия не ниже
0.25.0. Также можно проверить, что в Debian Security Tracker статус CVE-2026-91135 изменился на resolved или fixed.Вывод
CVE-2026-91135 представляет серьёзную угрозу для систем Debian, использующих Apache Thrift C++ с ZLIB transform. Критическая оценка CVSS 9.2 и отсутствие исправленных пакетов в дистрибутиве требуют повышенного внимания.
Рекомендуется следить за обновлениями Debian Security Tracker и как можно скорее установить исправленную версию thrift (0.25.0 или новее), когда она появится. До этого следует ограничить доступ к уязвимым сервисам и рассмотреть возможность отключения ZLIB transform, если это допустимо.
Официальные источники
История обновлений статьи
- 05.10.2026 — Опубликована первая версия материала.
