CVE-2025-47952: Traefik allows path traversal using url encoding

Published May 28, 2025
·
Updated

Impact

There is a potential vulnerability in Traefik managing the requests using a PathPrefix, Path or PathRegex matcher.

When Traefik is configured to route the requests to a backend using a matcher based on the path, if the URL contains a URL encoded string in its path, it’s possible to target a backend, exposed using another router, by-passing the middlewares chain.

Example

yaml apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: my-service spec: routes: - match: PathPrefix(‘/service’) kind: Rule services: - name: service-a port: 8080 middlewares: - name: my-middleware-a - match: PathPrefix(‘/service/sub-path’) kind: Rule services: - name: service-a port: 8080

In such a case, the request http://mydomain.example.com/service/sub-path/%2e%2e/other-path will reach the backend my-service-a without operating the middleware my-middleware-a unless the computed path is http://mydomain.example.com/service/other-path and should be computes by the first router (operating my-middleware-a).

Patches

- https://github.com/traefik/traefik/releases/tag/v2.11.25 - https://github.com/traefik/traefik/releases/tag/v3.4.1

For more information

If you have any questions or comments about this advisory, please open an issue.

<details> <summary>Original Description</summary> Summary

Path traversal with "/../" using URL encodings ("/%2e%2e") allows for circumventing routing rules.

Details

When having defined a route, you can path traverse using the URL encoded variant of /../ and reach endpoints that are not made publicly available. This issue has been found and fixed earlier with regular /../ and has been fixed in this CVE. This URL encoding trick works around that https://nvd.nist.gov/vuln/detail/CVE-2025-32431

Simply implementing a check on the URL encoding won't be sufficient as path traversal can take numerous formats. See examples here: https://book.hacktricks.wiki/en/pentesting-web/file-inclusion/index.html

PoC

Setup a service with two endpoints: "/public" and "/private", which returns a 200 OK for both Setup a Traefik proxy with a single route which points to the service using path /public

Regular requests to traefik /public will return 200 OK and to /private should return 404 (response by Traefik) When making a request to /public/%2e%2e/private you should receive a 200 OK.

Impact Impacts all traefik implementations with path prefix routes that expose only part of the downstream api

Suggestion Provide configuration property which disables all path traversals. Steps: 1. Decode URL 2. Evaluate and construct relative path (do traversal before route evaluation) 3. Compare relative/evaluated path to configured routes (PathPrefix/pathRegexp) </details>

Other sources

Traefik (pronounced traffic) is an HTTP reverse proxy and load balancer. Prior to versions 2.11.25 and 3.4.1, there is a potential vulnerability in Traefik managing the requests using a PathPrefix, Path or PathRegex matcher. When Traefik is configured to route the requests to a backend using a matcher based on the path, if the URL contains a URL encoded string in its path, it’s possible to target a backend, exposed using another router, by-passing the middlewares chain. This issue has been patched in versions 2.11.25 and 3.4.1.

MITRE

Affected Software

5 affected componentsFixes available
go/github.com/traefik/traefik<=1.7.34
go/github.com/traefik/traefik/v2<=2.11.24
2.11.25
go/github.com/traefik/traefik/v3<=3.4.0
3.4.1
Traefik traefik<2.11.25
Traefik traefik>=3.0.0<3.4.1

Event History

May 28, 2025
Advisory Published
via GitHub·02:25 PM
May 30, 2025
CVE Published
via MITRE·03:37 AM
Data Sourced
via MITRE·03:37 AM
DescriptionWeakness
Data Sourced
via NVD·04:15 AM
DescriptionSeverityWeakness
Data Sourced
via NVD·04:15 AM
RemedyAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2025-47952?

CVE-2025-47952 has been classified as a moderate severity vulnerability affecting certain versions of Traefik.

2

How do I fix CVE-2025-47952?

To fix CVE-2025-47952, upgrade Traefik to version 2.11.25 or later for v2, or 3.4.1 or later for v3.

3

Which versions of Traefik are affected by CVE-2025-47952?

CVE-2025-47952 affects Traefik versions up to and including 1.7.34, 2.11.24, and 3.4.0.

4

What kind of vulnerability is CVE-2025-47952?

CVE-2025-47952 is a potential vulnerability related to URL path matching using PathPrefix, Path, or PathRegex in Traefik.

5

What are the potential risks of CVE-2025-47952?

The risks of CVE-2025-47952 include exposing backends to unintended request routing based on malformed URL-encoded paths.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203