Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
traefik traefik
Default version status: unaffected
0 to < 2.11.52affected2.11.52unaffected
pkg:golang/github.com/traefik/traefik/v2traefik traefik
Default version status: unaffected
3.6.0 to < 3.6.23affected3.6.23unaffected
pkg:golang/github.com/traefik/traefik/v3traefik traefik
Default version status: unaffected
3.7.0 to < 3.7.7affected3.7.7unaffected
pkg:golang/github.com/traefik/traefik/v3