{"id":20659,"date":"2026-09-11T00:32:13","date_gmt":"2026-09-10T16:32:13","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-88879"},"modified":"2026-09-11T00:32:13","modified_gmt":"2026-09-10T16:32:13","slug":"cve-2026-88879","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-88879","title":{"rendered":"CVE-2026-88879 &#8211; Traefik is an HTTP reverse proxy and load balancer. In Traefik v1.x, v2.x through v2.11.55"},"content":{"rendered":"<p>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 \u2014 for example supplying X.Authenticated.User alongside the canonical X-Authenticated-User written by the ForwardAuth middleware \u2014 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&#8217;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&#8217;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 &#8216;keep&#8217; for backwards compatibility, it must be explicitly set to &#8216;delete&#8217; or &#8216;reject&#8217; for the fix to take effect. Unmaintained release lines will not receive a patch.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-20659","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/20659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=20659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=20659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=20659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}