Вышло обновление Traefik, закрывающее уязвимости обхода аутентификации и фильтрации

Traefik

Разработчики популярного прокси-сервера и балансировщика нагрузки Traefik выпустили корректирующие релизы для веток v2.11, v3.6 и v3.7. В бюллетенях, опубликованных 1 июля 2026 года, сообщается о закрытии трёх уязвимостей, которые в совокупности позволяют удалённому неаутентифицированному злоумышленнику обходить политики безопасности, установленные для аутентификации и фильтрации запросов. Уязвимостям присвоены идентификаторы CVE-2026-54763, CVE-2026-54764 и CVE-2026-54765; одна из них отнесена к высокой степени опасности, две - к средней.

Детали уязвимостей

Наиболее серьёзная проблема (CVE-2026-54763) затрагивает механизмы проверки подлинности BasicAuth, DigestAuth и ForwardAuth. Ранее разработчики уже исправляли вектор подмены заголовков аутентификации через канонические имена (например, X-Auth-User), однако исправление оказалось неполным. Выяснилось, что злоумышленник может передавать те же заголовки в варианте с символом подчёркивания вместо дефиса (например, X_Auth_User). Многие бэкенды нормализуют такие имена к единой форме, поэтому вредоносный заголовок может быть обработан целевым сервисом наряду с тем значением, которое система аутентификации Traefik собиралась установить, либо вместо него. В результате атакующий получает возможность подменить свою идентификацию или авторизационный контекст. В обновлении добавлена опция allowHeadersWithUnderscores: false, которая отсекает заголовки с подчёркиваниями ещё до этапа маршрутизации.

Вторая уязвимость (CVE-2026-54764) связана с работой middleware ForwardAuth. Даже когда параметр trustForwardHeader установлен в false, Traefik может передавать сервису аутентификации значение заголовка X-Forwarded-Port, извлечённое из исходного запроса, а не из очищенного перенаправленного запроса. Атакующий, отправляя запрос по незащищённому HTTP-соединению, может установить заголовок X-Forwarded-Proto: https, что заставит Traefik использовать значение 443 для заголовка X-Forwarded-Port. Если сервис аутентификации принимает решения на основе порта, это может привести к обходу проверок, основанных на порте подключения. Данная уязвимость представляет собой регрессию - после предыдущего исправления аналогичных векторов (GHSA-6384-m2mw-rf54) остался незакрытым вариант с X-Forwarded-Port.

Третья проблема (CVE-2026-54765) проявляется в конфигурациях, использующих интеграцию Traefik с Kubernetes Gateway API. Когда два принятых HTTPRoute (правила маршрутизации) указывают на один и тот же backend Service:port, но задают разные фильтры backendRef (например, устанавливают разные заголовки безопасности), Traefik может разрешить оба маршрута к одному дочернему сервису и применить к запросам, приходящим по обеим маршрутам, лишь один набор фильтров. Если такие фильтры содержат критически важные данные - идентификатор арендатора, контекст авторизации, значения, которым доверяет бэкенд, - то злоумышленник, создавший собственный HTTPRoute, может добиться, чтобы его фильтры применялись к запросам другого маршрута. При наличии разрешения на кросс-неймспейсовое взаимодействие (ReferenceGrant) это может нарушить изоляцию между пространствами имён Kubernetes.

Все три уязвимости потенциально позволяют злоумышленнику обходить политику безопасности, установленную администратором. Под угрозой находятся организации, использующие Traefik как единую точку входа для своих микросервисных архитектур, особенно в сочетании с Kubernetes и Gateway API. В бюллетенях безопасности отмечается, что эксплуатация не требует никаких привилегий и не зависит от взаимодействия с пользователем.

Разработчики выпустили исправленные версии: для ветки v2.11 - версия 2.11.51, для ветки v3.6 - 3.6.22, для ветки v3.7 - 3.7.6. Рекомендуется как можно скорее обновить Traefik до указанных версий. Для уязвимости, связанной с подчёркиванием в заголовках, после установки обновления необходимо также задать параметр entryPoint.allowHeadersWithUnderscores: false в конфигурации, чтобы активировать защиту. Дополнительных временных мер для остальных проблем не предусмотрено - патч полностью устраняет векторы атак.

Тенденция к появлению регрессий в исправлениях уязвимостей в программном обеспечении для маршрутизации и аутентификации сохраняется: каждый новый раунд обновлений часто выявляет ранее неучтённые вариации тех же техник. Регулярное обновление продуктов и внимание к конфигурациям, выходящим за пределы стандартных, остаётся основным способом снижения риска.

Ссылки

Комментарии: 0