Junglewise Threat Intelligence

CVE-2026-88011: Traefik ForwardAuth identity spoofing via header alias

CVE-2026-88011 · Severity: medium · CVSS 5.3 · Published 2026-09-10

Executive brief

Traefik is a reverse proxy and load balancer used to route incoming traffic to backend applications. The ForwardAuth middleware, which enforces authentication by delegating identity verification to an external service, can be bypassed by sending request headers with alternative name formats (e.g., using dots instead of dashes). An authenticated attacker with lower privileges can craft a request that causes the backend server to treat them as a different user or administrator, potentially gaining unauthorized access to sensitive functionality or data.

Technical details

This is a header canonicalization bypass vulnerability affecting Traefik's ForwardAuth middleware. Go's HTTP implementation canonicalizes header names only on dashes, treating X-Authenticated-User, X_Authenticated_User, and X.Authenticated.User as three distinct header names. However, backend servers (PHP, NGINX, CGI, WSGI) normalize all forms to a single environment variable (e.g., HTTP_X_AUTHENTICATED_USER). The ForwardAuth middleware deletes and replaces only the canonical dash-form header after authentication, allowing an attacker to inject a dot-form alias that survives this filtering. When the reverse proxy forwards both headers to the backend, PHP and similar servers collapse them into one variable, with the attacker-controlled value taking precedence due to lexical header ordering. An attacker already permitted by ForwardAuth as a lower-privilege user can spoof a higher-privilege identity. The vulnerability was incomplete-fixed in a prior iteration (GHSA-x677-9fxg-v5c5) that only blocked underscore forms. Patches are available in Traefik v2.11.56 and v3.7.12, introducing an aliasHeadersStrategy option (defaulting to 'keep') that must be explicitly set to 'delete' or 'reject' to mitigate the issue.

Affected products

  • Traefik Traefik 1.x, 2.0 through 2.11.55, 3.0.0 through 3.7.11

Timeline

  • 2026-09-10: disclosed
  • 2026-09-10: patched: Patches released: v2.11.56 and v3.7.12

References

Related threats