CVE-2024-52003
mediumpriority · track · 24EPSS 0.004 · 34 %ileEUUSEPSS · scored 2026-10-26
Traefik (pronounced traffic) is an HTTP reverse proxy and load balancer. There is a vulnerability in Traefik that allows the client to provide the X-Forwarded-Prefix header from an untrusted source. This issue has been addressed in versions 2.11.14 and 3.2.1. Users are advised to upgrade. There are no known workarounds for this vulnerability.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode⚠ sources disagree · low–medium · 1.7–6.3
ssvc
A stakeholder decision — act, attend, or track — from exploitation and impact.
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (7)
Products and version ranges known to be affected.
advisories (2)
Vendor and ecosystem advisories describing this.
- GHSA-h924-8g65-j9wgTraefik's X-Forwarded-Prefix Header still allows for Open Redirect2024-12-02ghsa · osvUS
### Impact There is a vulnerability in Traefik that allows the client to provide the `X-Forwarded-Prefix` header from an untrusted source. ### Patches - https://github.com/traefik/traefik/releases/tag/v2.11.14 - https://github.com/traefik/traefik/releases/tag/v3.2.1 ### Workarounds No workaround. ### For more information If you have any questions or comments about this advisory, please [open an issue](https://github.com/traefik/traefik/issues). <details> <summary>Original Description</summary> ### Summary The previously reported open redirect ([GHSA-6qq8-5wq3-86rp](https://github.com/traefik/traefik/security/advisories/GHSA-6qq8-5wq3-86rp)) is not fixed correctly. The safePrefix function can be tricked to return an absolute URL. ### Details The Traefik API [dashboard component](https://github.com/traefik/traefik/blob/master/pkg/api/dashboard/dashboard.go) tries to validate that the value of the header X-Forwarded-Prefix is a site relative path: ```go http.Redirect(resp, req, safePrefix(req)+"/dashboard/", http.StatusFound) ``` ```go func safePrefix(req *http.Request) string { prefix := req.Header.Get("X-Forwarded-Prefix") if prefix == "" { return "" } parse, err := url.Parse(prefix) if err != nil { return "" } return parse.Path } ``` ### PoC An attacker can bypass this by sending the following payload: ```bash curl -v 'http://traefik.localhost' -H 'X-Forwarded-Prefix: %0d//a.com' [...] > HTTP/1.1 302 Found > Location: //a.com/dashboard/ ``` or similar: ```bash curl -v 'http://traefik.localhost' -H 'X-Forwarded-Prefix: %2f%2fa.com' [...] > HTTP/1.1 302 Found > Location: //a.com/dashboard/ ``` ### Impact Similar to the previously reported bug. In cache poisoning scenarios this may be exploitable. </details>
- GO-2024-3299Traefik's X-Forwarded-Prefix Header still allows for Open Redirect in github.com/traefik/traefik2024-12-02vendor · osvUS
Traefik's X-Forwarded-Prefix Header still allows for Open Redirect in github.com/traefik/traefik
also known as (5)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (12)
External citations — patches, advisories, analysis.
- https://github.com/traefik/traefik/pull/11253cnnvd
- https://github.com/traefik/traefik/releases/tag/v2.11.14cnnvd
- https://github.com/traefik/traefik/releases/tag/v3.2.1cnnvd
- https://github.com/traefik/traefik/security/advisories/GHSA-h924-8g65-j9wgcnnvd
- https://github.com/traefik/traefik/pull/11253enisa_euvd
- https://github.com/traefik/traefik/releases/tag/v2.11.14enisa_euvd
- https://github.com/traefik/traefik/releases/tag/v3.2.1enisa_euvd
- https://github.com/traefik/traefik/security/advisories/GHSA-h924-8g65-j9wgenisa_euvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan