Уязвимость в Netty HTTP/2 позволяет обходить проверки заголовков — CVE-2026-93579
В HTTP/2-стеке Netty обнаружена уязвимость, позволяющая удалённому атакующему внедрять запрещённые символы (NUL, LF, CR) в значения полей заголовков. При трансляции HTTP/2 в HTTP/1.1 это открывает путь к контрабандe запросов и инъекции заголовков. Затронуты многочисленные продукты Red Hat на базе Netty, включая Quarkus, Keycloak, JBoss EAP и AMQ Broker.
Подробности
По данным CVE Project, в HTTP/2-стеке Netty значения полей заголовков не валидируются по умолчанию. Это позволяет удалённому атакующему передавать запрещённые символы — NUL (нулевой байт), Line Feed (перевод строки) и Carriage Return (возврат каретки) — непосредственно в значения заголовков. Опасность проявляется на границе преобразования HTTP/2 в HTTP/1.1. Когда приложение или прокси транслирует запрос из одного протокола в другой, непроверенные символы «просачиваются» в итоговый HTTP/1.1-запрос. Это создаёт условия для нескольких классов атак: - контрабанда запросов (request smuggling) — внедрение скрытых запросов, которые обрабатываются бэкендом иначе, чем фронтендом; - инъекция заголовков (header injection) — добавление произвольных заголовков в запрос; - расщепление ответа (response splitting) — манипуляция структурой HTTP-ответа. Успешная эксплуатация может привести к несанкционированному доступу, манипулированию данными и обходу механизмов безопасности. Уязвимость затрагивает широкий спектр продуктов 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 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 для перечисленных продуктов и применять их в приоритетном порядке. Если немедленное обновление невозможно, рекомендуется применить компенсирующие меры: - проверять и отклонять на входных шлюзах и обратных прокси заголовки HTTP/2, содержащие управляющие символы (NUL, CR, LF); - минимизировать или исключить преобразование HTTP/2 → HTTP/1.1 там, где это допустимо; - использовать промежуточные компоненты, выполняющие строгую нормализацию и валидацию заголовков; - ограничить доступ к сервисам, работающим с HTTP/2, на уровне сетевой периферии. Также стоит провести аудит логов и мониторинга на предмет аномальных запросов с подозрительными символами в заголовках, что может свидетельствовать о попытках эксплуатации. Итог: CVE-2026-93579 — умеренно опасная, но широко распространённая уязвимость, затрагивающая множество корпоративных Java-продуктов. Отсутствие валидации заголовков по умолчанию в Netty HTTP/2 требует внимания администраторов и разработчиков: своевременное обновление и строгая проверка заголовков на границах протоколов существенно снижают риск контрабанды запросов и инъекций.Источник: CVE Project (cvelistV5)
