CVE-2026-40912 Traefik: StripPrefixRegex auth bypass via Path/RawPath desync
An unauthenticated attacker can bypass authentication in Traefik by exploiting a path desync in StripPrefixRegex, allowing access to protected backend content.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-40912?
CVE-2026-40912 is a high-severity authentication bypass vulnerability in Traefik Traefik, published on 30 Apr 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Traefik is an HTTP reverse proxy and load balancer. Prior to versions 2.11.43, 3.6.14, and 3.7.0-rc.2, there is a high severity authentication bypass vulnerability in Traefik's StripPrefixRegex middleware when used in combination with ForwardAuth, BasicAuth, or DigestAuth. The middleware matches the regex against the decoded URL path but uses the resulting byte length to slice the percent-encoded raw path. When a dot (or multiple dots) appears in the prefix portion of the URL, the raw path after stripping becomes a dot-segment (e.g. /./admin/secret). ForwardAuth receives this dot-segment path in X-Forwarded-Uri, which does not match the protected path patterns and therefore allows the request through. The backend then normalizes the dot-segment to the real path per RFC 3986 and serves the protected content An unauthenticated attacker can exploit this against any backend that performs dot-segment normalization. This issue has been patched in versions 2.11.43, 3.6.14, and 3.7.0-rc.2.
Which versions are affected by CVE-2026-40912?
11 open source packages ship an affected version, including github.com/traefik/traefik/v3, github.com/traefik/traefik and github.com/traefik/traefik/v2. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
github.com/traefik/traefik/v3 Go | From 3.0.0-beta1 | 3.6.14, 3.7.0-rc.2 |
github.com/traefik/traefik/v3 Go | From 3.0.0-beta1 | 3.6.14 |
github.com/traefik/traefik/v3 Go | From 3.0.0-beta1 | 3.6.14 |
github.com/traefik/traefik/v3 Go | From 3.7.0-ea.1 | 3.7.0-rc.2 |
github.com/traefik/traefik/v3 Go | From 3.7.0-ea.1 | 3.7.0-rc.2 |
github.com/traefik/traefik Go | All versions | None |
5 more packages
github.com/traefik/traefik Go | All versions to 1.7.34 | None |
github.com/traefik/traefik Go | All versions to 1.7.34 | None |
github.com/traefik/traefik/v2 Go | All versions | 2.11.43 |
github.com/traefik/traefik/v2 Go | All versions | 2.11.43 |
github.com/traefik/traefik/v2 Go | All versions | 2.11.43 |
Products include Traefik Traefik.
How do I fix CVE-2026-40912?
Upgrade github.com/traefik/traefik/v3 to a fixed version for your release line: 3.6.14 or 3.7.0-rc.2.
Upgrade, and rotate credentials and sessions that may have been exposed. More about Authentication bypass.
Is CVE-2026-40912 being exploited?
There is no known exploitation of CVE-2026-40912 in the wild and no public exploit code.
Other vulnerabilities in Traefik Traefik
- CVE-2024-45410 HTTP client can remove the X-Forwarded headers in Traefik
- CVE-2026-88877 Traefik v3.7.0 Authentication Bypass via from-to-www-redirect
- CVE-2026-85595 Traefik before v2.11.55 and v3.0.0 through v3.7.10 Authentication Bypass via digestAuth
- CVE-2026-88007 Traefik HTTP/3 Backend NTLM Connection Reuse
- CVE-2026-88009 Traefik: Rootless HTTP/1 request-target routes as "/" but is forwarded verbatim, bypassing path-scoped routing, middleware guards and access logging
Sources
Also known as CLEANSTART-2026-FP02256, GHSA-6jwx-7vp4-9847, GO-2026-5180, MINI-298w-j8fg-2vcg, MINI-5rc8-ch82-76wr, MINI-j5xm-6hhx-jr2q.