Уязвимость CVE-2026-94449 в quarkus-smallrye-fault-tolerance: утечка памяти в @ApplyGuard ведёт к отказу в обслуживании
В библиотеке SmallRye Fault Tolerance, используемой Quarkus для реализации retry и circuit breaker в микросервисах, обнаружена утечка памяти при применении аннотаций ApplyGuard и ApplyFaultTolerance. Внутренние объекты трекинга не освобождаются после обработки запросов, что приводит к постоянному росту потребления памяти, деградации и падению приложения. Уязвимость получила оценку CVSS 7.5 (HIGH).
Подробности
Уязвимость затрагивает функциональность аннотаций ApplyGuard и ApplyFaultTolerance. При их использовании библиотека создаёт внутренние объекты трекинга для сопровождения состояния выполнения запросов, однако после завершения каждого запроса эти объекты не освобождаются. В результате потребление памяти приложением неуклонно растёт пропорционально объёму обработанных запросов. Со временем накопление «мусорных» объектов приводит к замедлению работы приложения и, в конечном счёте, к аварийному завершению из-за нехватки памяти. Поскольку уязвимость эксплуатируется без аутентификации и специальных привилегий — достаточно регулярно отправлять запросы в сервис, использующий уязвимые аннотации, — она представляет серьёзную угрозу для доступности. Уязвимости присвоена оценка CVSS 7.5 (HIGH). Согласно данным CVE Project, под её влияние попадают следующие продукты Red Hat: - Red Hat build of Quarkus; - Red Hat build of Apache Camel 4 for Quarkus 3; - Red Hat build of Apicurio Registry 3; - Red Hat Fuse 7; - Red Hat Exploit Intelligence. Уязвимость особенно опасна для микросервисных архитектур, где паттерны отказоустойчивости применяются массово и сервисы работают в режиме длительной непрерывной нагрузки.Что делать
Основная рекомендация — обновить затронутые компоненты до версий, содержащих исправление, как только они станут доступны от вендора. Перед обновлением следует отслеживать официальные бюллетени Red Hat и релизы SmallRye Fault Tolerance и Quarkus. В качестве временных мер митигации можно рассмотреть: - отказ от использования аннотаций ApplyGuard и ApplyFaultTolerance там, где это возможно, в пользу альтернативных подходов к организации отказоустойчивости; - ограничение частоты запросов к уязвимым эндпоинтам на уровне API-шлюза или балансировщика; - настройку мониторинга и алертов на рост потребления памяти и частые перезапуски подов/инстансов; - периодический перезапуск сервисов как вынужденная краткосрочная мера снижения риска накопления утечки. Также рекомендуется провести инвентаризацию зависимостей, чтобы выявить приложения, использующие уязвимые аннотации, и оценить их критичность для бизнеса. Итог: CVE-2026-94449 — уязвимость высокого уровня опасности, позволяющая неаутентифицированному злоумышленнику вызвать отказ в обслуживании через постепенную утечку памяти. Приоритет реагирования — высокий, особенно для сервисов, работающих под продолжительной нагрузкой и использующих аннотации ApplyGuard и ApplyFaultTolerance.Источник: CVE Project (cvelistV5)
