Description
Traefik is an HTTP reverse proxy and load balancer. In Traefik v1.x, v2.x through v2.11.55, and v3.0.0 through v3.7.11, header names are canonicalized only on dashes, so X-Auth-User, X_Auth_User and X.Auth.User are treated as three distinct headers by Traefik, while backends that derive variable names from header names (CGI, WSGI, PHP, NGINX and others) collapse them into a single variable. A client can therefore smuggle a dot-form alias of a header that Traefik manages past the middleware managing it — for example supplying X.Authenticated.User alongside the canonical X-Authenticated-User written by the ForwardAuth middleware — causing such a backend to read the client-supplied value instead of the identity Traefik asserted. In the tested configuration (PHP 8.2 built-in SAPI over an HTTP/1 backend path), Go's lexical header ordering makes the attacker-supplied value win deterministically, so a client that ForwardAuth admits as a low-privilege identity can be treated by the backend as a different user or role. Any header Traefik sets is affected, not only ForwardAuth's. This is an incomplete fix for GHSA-x677-9fxg-v5c5, which blocked only the underscore form. Fixed in v2.11.56 and v3.7.12, which add the aliasHeadersStrategy entry-point option; because it defaults to 'keep' for backwards compatibility, it must be explicitly set to 'delete' or 'reject' for the fix to take effect. Unmaintained release lines will not receive a patch.
Published: 2026-09-10
Score: 5.3 Medium
EPSS: n/a
KEV: No
Impact: Identity Spoofing
Action: Apply Patch
AI Analysis

Impact

Traefik versions before v2.11.56 and v3.7.12 do not fully canonicalize header names, treating X-Auth-User, X_Auth_User and X.Auth.User as separate headers. Backends that map header names to variables collapse these variations into a single variable, allowing a client to send an alias header that overrides the value set by Traefik’s ForwardAuth middleware. In a configuration test with PHP 8.2 over HTTP/1, the attacker’s alias value deterministically wins, enabling a low‑privilege user to be authenticated as a different role by the backend. This flaw permits authenticated identity spoofing for any header set by Traefik, not just those from ForwardAuth.

Affected Systems

Traefik 1.x, 2.x up to and including 2.11.55, and 3.0.0 through 3.7.11 are affected. The fix is applied in Traefik 2.11.56 and 3.7.12, which introduce the aliasHeadersStrategy option that must be set to ‘delete’ or ‘reject’ for the vulnerability to be mitigated.

Risk and Exploitability

The CVSS metric for this vulnerability is 5.3, indicating moderate severity. EPSS data is not available, and the vulnerability is not listed in CISA’s KEV catalog. The likely attack vector is via the HTTP request headers that a client can supply; an attacker does not need to exploit a server side vulnerability beyond manipulating header names. Because the attacker’s supplied header wins deterministically under the affected configuration, the risk is that any server using these versions could be susceptible to identity spoofing with moderate effort. Undocumented or unmaintained releases will not receive a patch, increasing the potential exploitation window for older deployments.

Generated by OpenCVE AI on September 10, 2026 at 14:59 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Traefik to a version that includes the aliasHeadersStrategy fix (v2.11.56 or newer, v3.7.12 or newer).
  • If an immediate upgrade is not feasible, modify the configuration to set aliasHeadersStrategy to ‘delete’ or ‘reject’ so that alias headers are removed or denied.
  • For deployments on unmaintained release lines, consider upgrading to a supported version or implementing an additional reverse proxy or middleware that sanitizes header names before they reach Traefik’s backends.

Generated by OpenCVE AI on September 10, 2026 at 14:59 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 10 Sep 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 10 Sep 2026 13:30:00 +0000

Type Values Removed Values Added
Description Traefik is an HTTP reverse proxy and load balancer. In Traefik v1.x, v2.x through v2.11.55, and v3.0.0 through v3.7.11, header names are canonicalized only on dashes, so X-Auth-User, X_Auth_User and X.Auth.User are treated as three distinct headers by Traefik, while backends that derive variable names from header names (CGI, WSGI, PHP, NGINX and others) collapse them into a single variable. A client can therefore smuggle a dot-form alias of a header that Traefik manages past the middleware managing it — for example supplying X.Authenticated.User alongside the canonical X-Authenticated-User written by the ForwardAuth middleware — causing such a backend to read the client-supplied value instead of the identity Traefik asserted. In the tested configuration (PHP 8.2 built-in SAPI over an HTTP/1 backend path), Go's lexical header ordering makes the attacker-supplied value win deterministically, so a client that ForwardAuth admits as a low-privilege identity can be treated by the backend as a different user or role. Any header Traefik sets is affected, not only ForwardAuth's. This is an incomplete fix for GHSA-x677-9fxg-v5c5, which blocked only the underscore form. Fixed in v2.11.56 and v3.7.12, which add the aliasHeadersStrategy entry-point option; because it defaults to 'keep' for backwards compatibility, it must be explicitly set to 'delete' or 'reject' for the fix to take effect. Unmaintained release lines will not receive a patch.
Title Traefik before v2.11.56 Identity Spoofing via Header Alias
First Time appeared Traefik
Traefik traefik
Weaknesses CWE-290
CPEs cpe:2.3:a:traefik:traefik:*:*:*:*:*:*:*:*
Vendors & Products Traefik
Traefik traefik
References
Metrics cvssV4_0

{'score': 5.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-10T15:04:00.316Z

Reserved: 2026-09-10T11:24:26.196Z

Link: CVE-2026-88879

cve-icon Vulnrichment

Updated: 2026-09-10T15:03:41.162Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-10T14:17:16.337

Modified: 2026-09-10T16:18:11.383

Link: CVE-2026-88879

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-10T15:00:15Z

Weaknesses
  • CWE-290

    Authentication Bypass by Spoofing