CVE-2026-93926: утечка ресурсов в Apache Thrift C++
В библиотеке Apache Thrift, широко используемой для организации RPC-взаимодействия между сервисами на разных языках, выявлена уязвимость CVE-2026-93926. Она относится к классу ошибок управления ресурсами и затрагивает реализацию на C++.
Подробности
Уязвимость локализована в методе THeaderTransport::untransform(), который отвечает за распаковку данных в заголовочном транспортном протоколе. При возникновении ошибки на пути выполнения функции происходит утечка zlib-потока: выделенный ресурс не освобождается после завершения его эффективного времени жизни. Согласно описанию, речь идёт о двух связанных слабостях — отсутствии освобождения памяти и отсутствии освобождения ресурса после истечения его жизненного цикла.
Проблема присутствует во всех версиях Apache Thrift до 0.25.0. Уязвимости присвоена оценка CVSS 8.7, что соответствует высокому уровню опасности. Поскольку утечка возникает именно на пути обработки ошибок, злоумышленник потенциально может провоцировать её многократно, что при определённых условиях приводит к постепенному исчерпанию памяти и отказу в обслуживании. Компаниям, использующим Apache Thrift на C++ в высоконагруженных или доступных извне сервисах, следует отнестись к этой проблеме серьёзно.
Что делать
Разработчики Apache Software Foundation уже выпустили исправление. Основная и наиболее надёжная рекомендация — обновить Apache Thrift до версии 0.25.0, в которой утечка устранена. Если немедленное обновление невозможно, стоит рассмотреть временные меры: ограничить доступ к сервисам, использующим уязвимый транспорт, на уровне сетевой инфраструктуры; усилить мониторинг потребления памяти процессами, задействующими Thrift; проверить конфигурации, при которых активно используется заголовочный транспорт с zlib-сжатием, и по возможности временно отказаться от него. Также полезно провести инвентаризацию зависимостей, чтобы убедиться, что уязвимая версия не поставляется транзитивно через другие компоненты.
Уязвимость CVE-2026-93926 — это классический пример того, как ошибка в обработке исключительных ситуаций превращается в риск отказа в обслуживании. Оценка CVSS 8.7 подчёркивает важность своевременного обновления. Рекомендуем не откладывать переход на Apache Thrift 0.25.0 и проверить, не используется ли уязвимая версия в вашей инфраструктуре.
Источник: CVE Project (cvelistV5)
