Traefik — это обратный прокси-сервер HTTP с открытым исходным кодом и балансировщик нагрузки. До 2.11.56 и с 3.0.0 по 3.7.12 заголовок в виде точки, предоставленный клиентом, такой как X.Authenticated.User, выдерживает замену ForwardAuth и underscoreHeadersStrategy, поскольку Go рассматривает его как отдельный от X-Authenticated-User, в то время как склонные к нормализации серверные части CGI, WSGI, PHP и NGINX сворачивают оба имени. Следовательно, серверная часть может использовать значение клиента вместо удостоверения, заявленного Traefik, что позволяет подменять удостоверение для любого заголовка, управляемого Traefik.
Защита aliasHeadersStrategy отключена по умолчанию и должна быть настроена на удаление или отклонение. Решение доступно в версиях 2.11.56 и 3.7.12.
Показать оригинальное описание (EN)
Traefik is an open source HTTP reverse proxy and load balancer. Prior to 2.11.56, and from 3.0.0 until 3.7.12, a client-supplied dot-form header such as X.Authenticated.User survives ForwardAuth replacement and underscoreHeadersStrategy because Go treats it as distinct from X-Authenticated-User while normalization-prone CGI, WSGI, PHP, and NGINX backends collapse both names. A backend can consequently consume the client value instead of the identity Traefik asserted, allowing identity spoofing for any header managed by Traefik. The aliasHeadersStrategy protection is disabled by default and must be configured as delete or reject. The mitigation is available in 2.11.56 and 3.7.12.
Характеристики атаки
Последствия
Строка CVSS v4.0