Версии Traefik <= v2.11.51, >= v3.6.0 <= v3.6.22 и >= v3.7.0 <= v3.7.6 содержат обход аутентификации посредством обхода пути в промежуточном программном обеспечении replacePathRegex. Когда replacePathRegex настроен с использованием регулярного выражения, которое фиксирует сегменты пути, управляемые пользователем, без обязательного разделителя пути (например, регулярное выражение «^/api(.*)», замена «/$1»), промежуточное программное обеспечение пересылает замененный путь на серверную часть, не проверяя, соответствует ли он своей нормализованной форме. Удаленный злоумышленник, не прошедший проверку подлинности, может отправить специально созданный запрос (например, GET /api../admin), который создаст ненормализованный путь, например /../admin, который серверная часть, нормализующая пути, преобразует в защищенный маршрут, минуя промежуточное программное обеспечение аутентификации.
Исправлено в версиях 2.11.52, 3.6.23 и 3.7.7.
Показать оригинальное описание (EN)
Traefik versions <= v2.11.51, >= v3.6.0 <= v3.6.22, and >= v3.7.0 <= v3.7.6 contain an authentication bypass via path traversal in the ReplacePathRegex middleware. When ReplacePathRegex is configured with a regex that captures user-controlled path segments without a mandatory path separator (e.g. regex "^/api(.*)", replacement "/$1"), the middleware forwards the replaced path to the backend without validating that it matches its normalized form. An unauthenticated remote attacker can send a crafted request (e.g. GET /api../admin) that produces an un-normalized path such as /../admin, which a backend that normalizes paths resolves to a protected route, bypassing authentication middleware. Fixed in v2.11.52, v3.6.23, and v3.7.7.
Характеристики атаки
Последствия
Строка CVSS v4.0