Traefik, Access Control Bypass, GHSA-gm3x-23wp-hc2c (Critical)

Listen to this Post

The vulnerability exists because Traefik processes router matching rules (PathPrefix, Path, PathRegex) on the raw, undecoded HTTP request path. The backend service later receives the URL-decoded path. An attacker can submit a request with a URL-encoded forward slash (%2F) or other restricted characters (%00, %3B, %3F, %23). The router’s rule, for example PathPrefix('/admin/'), does not match the raw string admin%2F. This causes the request to be matched by a different, less restrictive route (e.g., a catch-all `PathPrefix(‘/’)` rule). The request is then forwarded to the backend with the decoded path (/admin/), bypassing the security middleware (like authentication or blocking rules) attached to the intended route. This is a path normalization discrepancy between the router matcher and the backend forwarder.
Platform: Traefik
Version: < v2.11.32, < v3.6.4
Vulnerability: Path Matching Bypass
Severity: Critical
date: 2025-01-24

Prediction: Patched 2025-01-24

What Undercode Say:

curl -X POST "http://target/%2freport_note"
[http.routers.blocked]
rule = "PathPrefix(<code>/report_note</code>)"
middlewares = ["block-access"]
service = "flask-service"
[http.middlewares.block-access.replacePathRegex]
regex = "."
replacement = "/blocked"

How Exploit:

Send request with encoded slash (%2F) or null byte (%00) in path to bypass middleware.

Protection from this CVE:

Upgrade to Traefik v2.11.32 or v3.6.4. Implement strict middleware on catch-all routes.

Impact:

Unauthorized access to admin endpoints, privilege escalation, security policy bypass.

🎯Let’s Practice Exploiting & Learn Patching For Free:

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top