CVE-2026-88877: Traefik v3.7.0 Authentication Bypass via from-to-www-redirect
Traefik is a HTTP reverse proxy and load balancer. In versions >= v3.7.0 and <= v3.7.11, the Kubernetes ingress-nginx provider mishandles Ingresses that carry both an authentication annotation and the nginx.ingress.kubernetes.io/from-to-www-redirect annotation. For such Ingresses the provider creates an additional 'sibling' router that matches on the host alone, carries only the RedirectRegex middleware, and still points at the parent router's protected backend service. Because RedirectRegex is not a terminal handler, a request its pattern does not match is forwarded to the backend, and because the redirect pattern only accepts a numeric port while Traefik's host matcher canonicalizes the authority via net.SplitHostPort, a request with a non-numeric or empty port (for example 'Host: www.example.com:x') selects the sibling router, misses the redirect, and is proxied to the protected backend with none of the Ingress's annotation-derived middlewares applied. This discards not only authentication (e.g. BasicAuth) but every annotation-derived middleware, including source-IP allowlisting. Traefik v2 and v3 releases before v3.7.0 are not affected. The issue is fixed in v3.7.12.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Traefikto a version that resolves this vulnerability.Fixed in v3.7.12
Event History
Frequently Asked Questions
Which deployments are exposed to this bypass?
Affected deployments run Traefik v3.7.0 through v3.7.11 with the Kubernetes ingress-nginx provider and an Ingress that has both an authentication annotation and nginx.ingress.kubernetes.io/from-to-www-redirect. Traefik v2 and v3 releases earlier than v3.7.0 are not affected.
What does an attacker need to send to bypass the protected route?
The attacker can send an unauthenticated request that selects the sibling router using a Host authority with a non-numeric or empty port, such as "Host: www.example.com:x". The redirect does not match that authority, so the request is forwarded to the protected backend without annotation-derived middleware.
Are controls other than authentication bypassed?
Yes. The affected sibling router omits every middleware derived from Ingress annotations, including source-IP allowlisting as well as authentication controls.
What version resolves the issue?
Upgrade to Traefik v3.7.12, which fixes the issue.