CVE-2026-39858 Traefik: Forwarded alias spoofing top pre-auth decision bypass
Attackers can bypass authentication on protected routes by injecting spoofed trust context via unsanitized alias headers in Traefik.
- 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-39858?
CVE-2026-39858 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 ForwardAuth and snippet-based authentication middleware. Traefik's forwarded-header sanitization logic targets only canonical header names (e.g., X-Forwarded-Proto) and does not strip or normalize alias variants that use underscores instead of dashes (e.g., X_Forwarded_Proto). These unsanitized alias headers are forwarded intact to the authentication backend. When the backend normalizes underscore and dash header forms equivalently, an attacker can inject spoofed trust context — such as a trusted scheme or host — through the alias headers and bypass authentication on protected routes without valid credentials. 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-39858?
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-39858?
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-39858 being exploited?
There is no known exploitation of CVE-2026-39858 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-KQ85675, GHSA-5m6w-wvh7-57vm, GO-2026-5149, MINI-8f27-87m9-q3h6, MINI-cgx4-x4hc-hjjq, MINI-rrvw-f54g-chph.