Netty: обход проверки Transfer-Encoding и контрабанда HTTP-запросов (CVE-2026-93573)
В HTTP/1.1-декодере Netty обнаружена уязвимость (CVE-2026-93573, CVSS 6.5), позволяющая обойти валидацию заголовка Transfer-Encoding и реализовать контрабанду HTTP-запросов. Проблема затрагивает продукты Red Hat на базе Netty, включая Quarkus, Keycloak, JBoss EAP и Apache Camel. Критичность — средняя.
Подробности
Уязвимый компонент —netty-codec-http. Атакующий может обойти проверку заголовка Transfer-Encoding, разбив его на несколько отдельных заголовков, при этом последний содержит нефинальный transfer coding, например gzip или deflate. Логика декодера, проверяющая корректность и завершённость цепочки transfer coding, не срабатывает должным образом при таком разбиении.
В результате успешной эксплуатации промежуточные узлы (прокси, балансировщики, шлюзы) и конечный сервер могут по-разному интерпретировать границы HTTP-запросов. Это открывает возможность для контрабанды запросов: злоумышленник способен обходить механизмы контроля безопасности, вызывать рассинхронизацию обработки запросов или добиваться их выполнения в неожиданном контексте — например, от имени другого пользователя или в обход правил авторизации.
Согласно записи CVE, уязвимость затрагивает ряд продуктов Red Hat, в которых используется Netty: Red Hat Build of Debezium 3.6, Red Hat build of Quarkus 3.27.5.SP2 и 3.33.3.SP2, Red Hat AMQ Broker 7, Red Hat AMQ Clients, Red Hat build of Apache Camel 4 for Quarkus 3, Red Hat build of Apache Camel for Spring Boot 4, Red Hat build of Apicurio Registry 3, Red Hat Build of Keycloak, Red Hat Data Grid 8, Red Hat Fuse 7, Red Hat JBoss Enterprise Application Platform 7 и 8, а также Red Hat Single Sign-On 7.
Что делать
Основная рекомендация — обновить Netty и зависящие от неё продукты до версий, в которых устранена уязвимость. Поскольку список затронутых продуктов охватывает целый ряд решений Red Hat, организациям следует свериться с официальными бюллетенями безопасности Red Hat и релизными заметками соответствующих продуктов, чтобы определить актуальные исправленные сборки. Если немедленное обновление невозможно, в качестве временных митигаций можно рассмотреть:- нормализацию и строгую проверку заголовков
Transfer-EncodingиContent-Lengthна периметре — на прокси, балансировщиках и WAF; - отклонение запросов с дублирующимися или составными заголовками
Transfer-Encodingтам, где это допустимо политикой; - приведение поведения всех промежуточных узлов и backend-серверов к единой трактовке границ запросов, чтобы исключить рассинхронизацию;
- ограничение доступа к сервисам из недоверенных сетей и мониторинг аномалий в HTTP-трафике.
Источник: CVE Project (cvelistV5)
