CVE-2025-47952
Traefik allows path traversal using url encoding
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
2.9
Traefik allows path traversal using url encoding
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.
- Record
CVE-2025-47952- CVSS 4.0
- 2.9 Low
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:P - Weakness
- CWE-22
- Updated
- 2026-11-02
EUVDEUVD-2025-16447
2.9
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.
- Record
EUVD-2025-16447- CVSS 4.0
- 2.9 Low
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:P - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-vrch-868g-9jx5
2.9
Traefik allows path traversal using url encoding
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
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:
- Decode URL
- Evaluate and construct relative path (do traversal before route evaluation)
- Compare relative/evaluated path to configured routes (PathPrefix/pathRegexp)
</details>
- Record
GHSA-vrch-868g-9jx5- CVSS 4.0
- 2.9 Low
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:P - Weakness
- CWE-22
- Updated
- 2026-11-02
NVD
2.9
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.
- Record
CVE-2025-47952- CVSS 4.0
- 2.9 Low
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-22
- Updated
- 2026-11-02
OSV
2.9
Traefik allows path traversal using url encoding
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.
- Record
CVE-2025-47952- CVSS 4.0
- 2.9 Low
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:P - Weakness
- CWE-22
- Updated
- 2026-11-02
OSVGHSA-vrch-868g-9jx5
2.9
Traefik allows path traversal using url encoding
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
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:
- Decode URL
- Evaluate and construct relative path (do traversal before route evaluation)
- Compare relative/evaluated path to configured routes (PathPrefix/pathRegexp)
</details>
- Record
GHSA-vrch-868g-9jx5- CVSS 4.0
- 2.9 Low
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:P - Weakness
- CWE-22
- Updated
- 2026-11-02
Show 4 moreShow less
OSVGO-2025-3719 No score
Traefik allows path traversal using url encoding in github.com/traefik/traefik
Traefik allows path traversal using url encoding in github.com/traefik/traefik
- Record
GO-2025-3719- Updated
- 2026-11-02
OSVopenSUSE-SU-2025:15188-1 No score
govulncheck-vulndb-0.0.20250529T205903-1.1 on GA media
These are all security issues fixed in the govulncheck-vulndb-0.0.20250529T205903-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2025:15188-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2025:15304-1 No score
traefik-3.4.3-1.1 on GA media
These are all security issues fixed in the traefik-3.4.3-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2025:15304-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2025:15305-1 No score
traefik2-2.11.26-1.1 on GA media
These are all security issues fixed in the traefik2-2.11.26-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2025:15305-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
github.com/traefik/traefik/v3Go |
through 3.4.0 | 3.4.1 |
github.com/traefik/traefikGo |
through 1.7.34 | None known |
github.com/traefik/traefik/v2Go |
before 2.11.25 | 2.11.25 |
github.com/traefik/traefik/v3Go |
before 3.4.1 | 3.4.1 |
github.com/traefik/traefikGo |
All versions | None known |
govulncheck-vulndbopenSUSE:Tumbleweed From an advisory covering 3 CVEs |
before 0.0.20250529T205903-1.1 | 0.0.20250529T205903-1.1 |
traefikopenSUSE:Tumbleweed From an advisory covering 7 CVEs |
before 3.4.3-1.1 | 3.4.3-1.1 |
traefik2openSUSE:Tumbleweed From an advisory covering 9 CVEs |
before 2.11.26-1.1 | 2.11.26-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2025-47952 is a low vulnerability (CVSS 2.9) in Traefik, published May 28, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.98%, the 62nd percentile. Fixed in github.com/traefik/traefik/v3 3.4.1.
References
github.com/traefik/traefik/security/advisories/GHSA-vrch-868g-9jx5
github.com/traefik/traefik/commit/08d5dfee0164aa54dd44a467870042e18e8d3f00
github.com/traefik/traefik/releases/tag/v2.11.25
github.com/traefik/traefik/releases/tag/v3.4.1
nvd.nist.gov/vuln/detail/CVE-2025-47952
github.com/advisories/GHSA-vrch-868g-9jx5
Show 15 moreShow less
github.com/CVEProject/cvelistV5/tree/main/cves/2025/47xxx/CVE-2025-47952.json
github.com/traefik/traefik
lists.opensuse.org/archives/list/[email protected]/thread/5W5NDYFJCKVTB2UYZO6OSRFA7RGWGHY3
suse.com/security/cve/CVE-2025-4057
suse.com/security/cve/CVE-2025-47933
suse.com/security/cve/CVE-2025-47952
suse.com/security/cve/CVE-2024-4533
suse.com/security/cve/CVE-2024-45338
suse.com/security/cve/CVE-2025-22868
suse.com/security/cve/CVE-2025-22869
suse.com/security/cve/CVE-2025-22872
suse.com/security/cve/CVE-2025-27144
suse.com/security/cve/CVE-2024-28180
suse.com/security/cve/CVE-2025-22871
suse.com/security/cve/CVE-2025-32431