Apache Thrift C++ THeaderTransport не применяет заданный maxFrameSize — CVE-2026-66054
В Apache Thrift (C++ bindings) до версии 0.25.0 обнаружена уязвимость, связанная с отсутствием ограничения ресурсов при обработке кадров: THeaderTransport не соблюдает настроенный параметр maxFrameSize. Проблема затрагивает сервисы, принимающие трафик от недоверенных клиентов, и может привести к усилению данных (data amplification) и исчерпанию памяти. Оценка CVSS — 6.9 (MEDIUM).
Подробности
Уязвимость классифицируется как «Allocation of Resources Without Limits or Throttling» в сочетании с «Improper Handling of Highly Compressed Data (Data Amplification)». По сути, C++ реализация THeaderTransport не применяет заданный пользователем параметр maxFrameSize — то есть заявленное ограничение на максимальный размер кадра не соблюдается при обработке входящего трафика. Это открывает сразу два вектора атаки: - Неограниченное выделение ресурсов. Поскольку лимит на размер кадра фактически игнорируется, злоумышленник может отправлять кадры произвольного размера. Каждый такой кадр приводит к выделению памяти на стороне сервера, что позволяет инициировать атаку на исчерпание памяти (DoS) без необходимости в большом объёме передаваемых данных. - Усиление данных (data amplification). Из-за некорректной обработки сильно сжатых данных небольшой по размеру сжатый запрос может разворачиваться в непропорционально большой объём данных в памяти. Это классическая схема amplification-атак, при которой затраты атакующего минимальны, а нагрузка на жертву — значительна. Итоговая оценка CVSS составляет 6.9 (MEDIUM). Уязвимы приложения и сервисы на C++, использующие Apache Thrift версий ниже 0.25.0, особенно если они принимают соединения от недоверенных или внешних клиентов и полагаются на maxFrameSize как на защитный механизм.Что делать
Основная и единственная надёжная рекомендация от производителя — обновить Apache Thrift до версии 0.25.0, в которой проблема устранена и параметр maxFrameSize применяется корректно. Общие рекомендации по снижению риска: - Проведите инвентаризацию сервисов и библиотек, использующих Apache Thrift C++ bindings, и выявите экземпляры версий ниже 0.25.0. - Спланируйте обновление до 0.25.0 в приоритетном порядке для сервисов, доступных из недоверенных сетей. - До момента обновления ограничьте доступ к таким сервисам на сетевом уровне (firewall, mTLS, allow-list клиентов), чтобы сократить поверхность атаки. - Настройте мониторинг потребления памяти и аномалий по размеру входящих запросов — резкие всплески могут указывать на попытку эксплуатации. - Учитывайте, что maxFrameSize до обновления не следует рассматривать как гарантированную защиту: полагаться на него как на единственный барьер нельзя.Итог
CVE-2026-66054 — умеренно опасная уязвимость в C++ реализации Apache Thrift, позволяющая обойти ограничение maxFrameSize и привести к неконтролируемому расходу памяти и data amplification. Исправление доступно в версии 0.25.0. Если ваши сервисы на C++ используют Thrift и принимают внешний трафик, обновление до 0.25.0 является приоритетной задачей; до его применения стоит ограничить сетевой доступ и усилить мониторинг ресурсов.Источник: CVE Project (cvelistV5)
