CVE-2025-47952

9.1 CRITICAL

📋 TL;DR

This vulnerability in Traefik allows attackers to bypass router path matching rules by using URL-encoded strings in request paths. This could enable access to backend services that should be protected by middlewares like authentication or rate limiting. All Traefik deployments using PathPrefix, Path, or PathRegex matchers are affected.

💻 Affected Systems

Products:
  • Traefik
Versions: All versions prior to 2.11.25 and 3.4.1
Operating Systems: All
Default Config Vulnerable: ✅ No
Notes: Only affects configurations using PathPrefix, Path, or PathRegex matchers to route requests to backends.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could bypass authentication, authorization, or security middlewares to access sensitive backend services, potentially leading to data exposure or unauthorized actions.

🟠

Likely Case

Unauthorized access to backend services that should be protected by security middlewares, potentially exposing internal APIs or applications.

🟢

If Mitigated

Limited impact if additional network segmentation or application-level controls exist, but still represents a configuration bypass vulnerability.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires sending specially crafted URLs with URL-encoded path components to bypass router matching.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.11.25 or 3.4.1

Vendor Advisory: https://github.com/traefik/traefik/security/advisories/GHSA-vrch-868g-9jx5

Restart Required: Yes

Instructions:

1. Identify your Traefik version. 2. Upgrade to 2.11.25 if using Traefik 2.x. 3. Upgrade to 3.4.1 if using Traefik 3.x. 4. Restart Traefik service. 5. Verify the upgrade was successful.

🔧 Temporary Workarounds

URL Path Sanitization Middleware

all

Implement custom middleware to decode and normalize URL paths before routing decisions

Network Segmentation

all

Isolate Traefik instances and limit backend access through additional firewall rules

🧯 If You Can't Patch

  • Implement strict network access controls between Traefik and backend services
  • Add application-level authentication/authorization in backend services as defense in depth

🔍 How to Verify

Check if Vulnerable:

Check if your Traefik version is below 2.11.25 (for v2) or below 3.4.1 (for v3) and uses path-based routing matchers

Check Version:

traefik version

Verify Fix Applied:

After upgrading, test that URL-encoded paths no longer bypass router matching by attempting to access protected routes with encoded characters

📡 Detection & Monitoring

Log Indicators:

  • Requests with URL-encoded characters in paths accessing unexpected backends
  • Access logs showing successful requests to routes that should be blocked

Network Indicators:

  • Unusual traffic patterns to backend services from Traefik
  • Requests containing %2F, %2E, or other URL-encoded path separators

SIEM Query:

source="traefik" AND (url_path="*%*" OR status_code=200) AND NOT expected_route

🔗 References

📤 Share & Export