Traefik
CVE-2025-66490
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify path-protected backend behind Traefik
-
DeliveryCraft request with URL-encoded restricted char (%2F)
-
ExploitRouter matches pre-decoded path, skips middleware
-
ExecutionTraefik decodes and forwards to backend
-
ImpactAccess control bypassed, reach protected endpoint
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V4 - API and Web Service Interpretation consistency
|
| Exploitation Conditions | Exploitation requires Traefik to be configured for path-based routing using PathPrefix, Path, or PathRegex matchers, where a security/access-control middleware (e.g. a blocking replacePathRegex rule or auth middleware) is attached to a specific protected path while another router also serves the same backend. The attacker must know (or guess) the protected endpoint and include a URL-encoded restricted character from the set ('/', '\', Null, ';', '?', '#') in the request path. No authentication or user interaction is needed (PR:N/UI:N). What LIMITS exploitation: it is ineffective against deployments that do not rely on path-based routing + middleware for access control, and the actual impact depends entirely on what the bypassed middleware was protecting; default configurations without path-protecting middleware are not exposed. |
| Impact | Signals are moderate and internally consistent. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) shows a remotely reachable, low-complexity, unauthenticated flaw, but the impact is deliberately scoped to the subsequent/backend system (VC:N/VI:N/VA:N, SC:L/SI:L) - Traefik itself is not compromised; rather, security middleware is bypassed so a protected backend path is reached, yielding the base score of 6.9 (Medium). EPSS is low at 0.44% (37th percentile), and the vulnerability is NOT listed in CISA KEV, so there is no evidence of active exploitation. However, publicly available exploit code exists - the GHSA advisory embeds a working PoC discovered during PwnSec CTF 2025 - so weaponization effort is near zero. The net picture: this is a real, low-complexity, unauthenticated access-control bypass with a public PoC, but real-world risk is gated by configuration (it only matters where path-based routing protects sensitive endpoints with middleware). Treat as a meaningful patch priority for environments using Traefik PathPrefix/Path/PathRegex matchers with security middleware, but not an emergency 'drop everything' issue given low EPSS and no KEV. Note a version-data conflict: the description and NVD CPEs state the v3 fix is 3.6.3, while the linked release/advisory point to v3.6.4 - verify the exact fixed v3 build with the vendor. |
| Exploit ScenarioDerived | An unauthenticated remote attacker who knows an internal/admin path is protected by Traefik middleware sends a request with a URL-encoded restricted character (e.g. GET /admin%2F or POST /%2freport_note). Traefik matches the router rule against the still-encoded path, misses the protected prefix, skips the security middleware chain, then decodes the path and forwards it to the backend - reaching the protected endpoint. A public PoC exists in the GHSA advisory, making this trivially reproducible given low attack complexity (AC:L). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
Path normalization bypass in Traefik allows unauthenticated remote attackers to circumvent the middleware chain on path-protected routes: requests containing URL-encoded restricted characters ('/', '\', Null, ';', '?', '#') fail to match a PathPrefix, Path, or PathRegex-protected router and fall through to a less restrictive router that forwards the decoded path to the same backend. All deployments prior to 2.11.32 (v2.x) and prior to 3.6.3 (v3.x) are affected, with the legacy v1 line (<= 1.7.34) also listed as vulnerable but end-of-life. Publicly available exploit code exists (a CTF-derived PoC using 'POST /%2freport_note' against a blocking middleware), though the issue is not confirmed actively exploited (no CISA KEV listing) and EPSS is low at 0.44% (37th percentile). The real-world impact depends entirely on what the bypassed middleware was protecting - typically an access-control or authentication layer in front of /admin/, /internal/, or /beta/ endpoints.
RemediationAI
Vendor-released patch: upgrade to Traefik 2.11.32 (v2.x branch) or 3.6.3 / 3.6.4 (v3.x branch) - see the fixed releases at https://github.com/traefik/traefik/releases/tag/v2.11.32 and https://github.com/traefik/traefik/releases/tag/v3.6.4, and the advisory at https://github.com/traefik/traefik/security/advisories/GHSA-gm3x-23wp-hc2c. Be aware that the fix is a declared BREAKING CHANGE: Traefik now rejects requests containing the suspicious encoded characters ('/', '\', Null, ';', '?', '#') in the path (PR #12360), so legitimate clients that rely on percent-encoded characters in URLs may start receiving errors - read the migration guide at https://doc.traefik.io/traefik/v2.11/migration/v2/#encoded-characters-in-request-path and test in staging before rollout. There is no patch for the end-of-life v1 line (<= 1.7.34), so those deployments must be upgraded to a supported branch. If you cannot upgrade immediately, specific compensating controls are: (1) front Traefik with a WAF or upstream reverse proxy/ingress that rejects or normalizes requests whose path contains percent-encoded reserved characters (%2F, %5C, %00, %3B, %3F, %23) before they reach Traefik - trade-off is that this may break legitimate clients using encoded characters and requires rules to be kept in sync; (2) do not rely on path-based routers with attached middleware as the sole access-control mechanism for sensitive paths; instead enforce authentication/authorization at the backend service or use a dedicated entryPoint bound to a separate port so protected routes cannot be reached through a catch-all router - trade-off is architectural rework and possible extra latency; (3) where feasible, remove overlapping catch-all routers that share a backend with a protected router, since the bypass depends on that second, unguarded route.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in go
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-436 (Interpretation Conflict): Traefik's router matching logic evaluates the raw, undecoded request path against PathPrefix/Path/PathRegex matchers, but the request is decoded and normalized before being forwarded to the backend service. When a restricted character such as %2F (encoded '/') is embedded in the path, the protected router rule (e.g. PathPrefix('/admin/')) does not match, while a broader catch-all rule (e.g. PathPrefix('/')) does - and that second router typically has no security middleware attached. Traefik then forwards the decoded path (/admin/) to the backend, so the middleware guarding the sensitive path is never invoked and the upstream service receives a request it should never have seen. An example from the advisory: a request to http://mydomain.example.com/admin%2F reaches service-a via the unguarded router, skipping my-security-middleware. Affected components are the Go modules go/github.com/traefik/traefik/v2 (< 2.11.32) and go/github.com/traefik/traefik/v3 (< 3.6.3), with the v1 module (<= 1.7.34) also flagged. The upstream fix (PR #12360, 'Reject suspicious encoded characters') hardens the server by refusing requests that carry these encoded characters; the vendor explicitly labels this a BREAKING CHANGE and asks operators to read the v2.11 migration guide on encoded characters in request paths. Note a documentation discrepancy: the NVD description cites the fix as 3.6.3, while the GHSA advisory's patch list points to the v3.6.4 release tag; both release references are provided.
Know when Traefik gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Remote, low-complexity, unauthenticated request bypasses middleware (AV:N/AC:L/PR:N/UI:N); the proxy flaw impacts a separate backend component so S:C, with limited confidentiality/integrity exposure of protected endpoints and no availability impact.
Primary rating from Vendor (github).
CVSS VectorVendor: github
DescriptionCVE.org
Traefik is an HTTP reverse proxy and load balancer. For versions prior to 2.11.32 and 2.11.31 through 3.6.2, requests using PathPrefix, Path or PathRegex matchers can bypass path normalization. When Traefik uses path-based routing, requests containing URL-encoded restricted characters (/, \, Null, ;, ?, #) can bypass the middleware chain and reach unintended backends. For example, a request to http://mydomain.example.com/admin%2F could reach service-a without triggering my-security-middleware, bypassing security controls for the /admin/ path. This issue is fixed in versions 2.11.32 and 3.6.3.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Affected Products (CPE)CVE.org
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Backend connection hijacking in Traefik reverse proxy (2.11.0 through 2.11.56 and 3.0.0 through 3.7.12) lets an unauthen
HTTP/1 request-target parsing in Traefik prior to 2.11.57 and 3.7.13 allows unauthenticated remote attackers to send a r
Authentication bypass in the Traefik reverse proxy (v2.11.51 and earlier, v3.6.0-v3.6.22, and v3.7.0-v3.7.6) allows unau
Route-level authentication bypass in Traefik v3.7.0-v3.7.7 allows unauthenticated remote attackers to reach backend endp
Traefik is an open source HTTP reverse proxy and load balancer. Rated high severity (CVSS 7.5), this vulnerability is re
types/types.go in Containous Traefik 1.7.x through 1.7.11, when the --api flag is used and the API is publicly reachable
Security middleware bypass in Traefik reverse proxy versions 2.11.26-2.11.56 and 3.4.2-3.7.12 allows unauthenticated net
Traefik's header-security defenses (aliasHeadersStrategy, underscoreHeadersStrategy, forwardedHeaders) inspect req.Heade
Traefik is an open source HTTP reverse proxy and load balancer. Rated medium severity (CVSS 6.5), this vulnerability is
Traefik is an open source HTTP reverse proxy and load balancer. Rated medium severity (CVSS 6.5), this vulnerability is
Concurrent HTTP requests to Traefik's BasicAuth middleware can reveal whether a username is configured, because absent u
NVD
CVE.org
EPSS
GitHub
Exploit-DB