CVE-2026-88877·Traefik vulnerability
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.
- Severity
- critical
- Software
- Traefik
- Fixed in
- 3.7.12
- Published
How likely is exploitation
FIRST's Exploit Prediction Scoring System puts the probability of this CVE being exploited in the next 30 days at 0.65% — higher than 50% of all published CVEs. EPSS is an independent forecast of exploitation, not a severity rating: it says nothing about how much damage a successful attack does, which is what a CVSS score measures.
Read the two together. CVE-2026-88877 scores 9.8 on CVSS, so a successful attack would be serious — but at 0.65%, almost nobody is currently attempting it. That is a different situation from a flaw under mass exploitation, and it is usually the difference between patching on your next maintenance window and patching tonight.
Affected versions
From: 3.7.0
Until: 3.7.12
Fixed in: 3.7.12
How to fix this CVE
Upgrade Traefik immediately to version 3.7.12 or later to patch an authentication bypass vulnerability affecting the Kubernetes ingress-nginx provider. The vulnerability allows unauthenticated access to protected backends when specific annotation combinations are used. Organizations running Traefik v3.7.0 through v3.7.11 with Kubernetes Ingresses should prioritize this update to restore proper middleware chain enforcement.
sudo dnf update traefikDefensia detects this vulnerability
What an exploitation attempt looks like
Sample log line indicative of exploitation attempts:
GET|POST|HEAD|OPTIONS|PATCH|DELETE .* HTTP/1\.1\r\nHost: [^:]+:[^0-9]+|GET|POST .* HTTP/1\.1\r\nHost: [^:]+$(?=.*Authorization|.*X-Original-Forwarded-For)WAF mitigation (if patching is not yet possible)
Add this rule to your WAF to block exploitation attempts while you schedule the patch.
Implement WAF rules to reject HTTP requests with malformed Host headers containing non-numeric ports (e.g., Host: example.com:abc or Host: example.com:x). Use ModSecurity rule: SecRule REQUEST_HEADERS:Host "@rx ^[^:]+:[^0-9]+$" "id:1000,phase:2,deny,status:400,msg:'Non-numeric port in Host header'"How to check if you are affected
- Check installed Traefik version: traefik version or curl http://localhost:8080/ping (check headers) or docker inspect <container> | grep -i version
- Verify Kubernetes Ingress configuration: kubectl get ingress -A -o yaml | grep -E '(authentication|from-to-www-redirect)' to identify potentially vulnerable ingress definitions
- Search Traefik access logs for requests matching non-numeric ports or malformed Host headers (e.g., 'Host: example.com:x' or 'Host: example.com:invalid'): grep -E 'Host:[^ ]+:[^0-9]' /path/to/traefik/logs.txt
- Verify patch application: traefik version should report v3.7.12 or higher; cross-check with kubectl get pod <traefik-pod> -o jsonpath='{.spec.containers[0].image}'
FAQ
What is CVE-2026-88877?
This is a critical authentication bypass in Traefik v3.7.0-3.7.11 where misconfigured Kubernetes Ingresses with both authentication and www-redirect annotations create an unprotected sibling router. Requests with non-numeric port numbers bypass the authentication middleware entirely, exposing protected backends.
Is CVE-2026-88877 being actively exploited?
No, this vulnerability is not currently listed in the CISA Known Exploited Vulnerabilities catalog and no public exploits have been disclosed, but it remains critical due to its ease of exploitation and high impact.
What versions of Traefik are affected by CVE-2026-88877?
Traefik versions 3.7.0 through 3.7.11 are affected when using the Kubernetes ingress-nginx provider. v3.6.x and earlier, as well as v3.7.12 and later, are not vulnerable.
How do I check if my server is vulnerable to CVE-2026-88877?
Run 'traefik version' or check your container image tag. If the output shows v3.7.0 to v3.7.11, your deployment is vulnerable. Additionally, query your Kubernetes cluster for Ingresses using both 'auth' and 'from-to-www-redirect' annotations: kubectl get ingress -A -o json | jq '.items[] | select(.metadata.annotations | keys[] | contains("auth")) | select(.metadata.annotations | keys[] | contains("from-to-www-redirect"))'
Does Defensia detect CVE-2026-88877?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Traefik is installed on a monitored server, CVE-2026-88877 will appear in your dashboard with remediation steps.
Related Traefik CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2026-88877. Free for 1 server.
Get started free