CVE-2026-88879
WysokieCVSS 8.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 20 - wyżej niż 20% wszystkich znanych CVE
Streszczenie
Traefik w wersjach v1.x, v2.x do v2.11.55 oraz v3.0.0 do v3.7.11 kanonikalizuje nazwy nagłówków tylko po myślnikach, przez co X-Auth-User, X_Auth_User i X.Auth.User są traktowane jako trzy różne nagłówki, podczas gdy backendy (CGI, WSGI, PHP, NGINX i inne) sprowadzają je do jednej zmiennej. Klient może przemycić alias z kropką nagłówka zarządzanego przez Traefik obok kanonicznej wersji, np. X.Authenticated.User obok X-Authenticated-User, powodując, że backend odczyta wartość dostarczoną przez klienta zamiast tożsamości potwierdzonej przez Traefik.
Ocena ryzyka
Klient dopuszczony przez ForwardAuth jako użytkownik o niskich uprawnieniach może zostać potraktowany przez backend jako inny użytkownik lub rola, co prowadzi do eskalacji uprawnień i obejścia kontroli dostępu. Podatność dotyczy każdego nagłówka ustawianego przez Traefik, nie tylko ForwardAuth.
Rekomendacja
Zaktualizować Traefik do wersji v2.11.56 lub v3.7.12 i jawnie ustawić opcję aliasHeadersStrategy na 'delete' lub 'reject' (domyślnie 'keep' nie zapewnia ochrony). Należy pamiętać, że nieutrzymywane linie wydań nie otrzymają poprawki.
Inne podatności w Traefik
Zobacz wszystkie- CVE-2026-88008Krytyczne
W Traefik od wersji 2.11.26 do 2.11.57 i 3.7.13, Traefik przekazuje do współdzielonego backendu nagłówek Connection żądający Upgrade, token Upgrade: h2c oraz HTTP2-Settings. Jeśli backend zaakceptuje h2c i zwróci 101 Switching Protocols, Traefik wchodzi w tryb surowego tunelu i przestaje stosować routery, BasicAuth, ForwardAuth, IPAllowList, RateLimit, logowanie dostępu, metryki i śledzenie do późniejszych żądań HTTP/2, co pozwala nieuwierzytelnionemu żądaniu przejść przez niechronioną trasę do chronionych ścieżek w tym samym backendzie.
- CVE-2026-88007Krytyczne
Traefik (open source HTTP reverse proxy i load balancer) w wersjach od 2.11.0 do 2.11.57 oraz 3.7.13 ma błąd w obsłudze HTTP/3: ConnContext nie wywołuje service.AddTransportOnContext, przez co kerberosRoundTripper używa współdzielonego transportu backendu zamiast dedykowanego dla każdego połączenia frontendu. Przy włączonym HTTP/3, backendzie używającym uwierzytelniania NTLM lub Negotiate związanego z połączeniem oraz keep-alive, niepowiązany klient może ponownie użyć połączenia backendu uwierzytelnionego dla ofiary, odczytać dane ofiary i działać jako ofiara bez jej poświadczeń.
- CVE-2026-88877Krytyczne
Traefik (HTTP reverse proxy i load balancer) w wersjach >= v3.7.0 i <= v3.7.11 ma błąd w providerze Kubernetes ingress-nginx dotyczący Ingressów z jednocześnie ustawioną adnotacją uwierzytelniania i adnotacją nginx.ingress.kubernetes.io/from-to-www-redirect. Provider tworzy dodatkowy router 'sibling', który dopasowuje tylko host, zawiera wyłącznie middleware RedirectRegex i wskazuje na chroniony backend routera nadrzędnego. Ponieważ RedirectRegex nie jest terminalnym handlerem, żądanie niedopasowane do wzorca jest przekazywane do backendu, a ponieważ wzorzec przekierowania akceptuje tylko port numeryczny, żądanie z portem nienumerycznym lub pustym (np. 'Host: www.example.com:x') wybiera router sibling, omija przekierowanie i jest proxowane do chronionego backendu bez żadnych middleware'ów wynikających z adnotacji Ingress. Powoduje to utratę nie tylko uwierzytelniania (np. BasicAuth), ale także wszystkich middleware'ów z adnotacji, w tym allowlisty źródłowych adresów IP. Wersje Traefik v2 i v3 przed v3.7.0 nie są podatne. Problem naprawiono w v3.7.12.
- CVE-2026-85597Krytyczne
Traefik przed wersjami v2.11.55 i v3.0.0 do v3.7.10 zawiera podatność na konflikt rozwiązywania opcji TLS, która pozwala nieuwierzytelnionym atakującym ominąć uwierzytelnianie certyfikatem klienta poprzez tworzenie sprzecznych opcji TLS na routerach z wieloma hostami. Atakujący mogą dotrzeć do chronionych backendów, wykorzystując wspólne rozwiązywanie TLS dla wielu nazw hostów w jednej regule routera, co powoduje, że ścisły wymóg mTLS jest zastępowany domyślnymi opcjami dla wszystkich hostów.
- CVE-2026-85596Krytyczne
Traefik w wersjach >= v3.7.0 i <= v3.7.10 zawiera obejście uwierzytelniania w dostawcy Kubernetes Ingress NGINX. Opcja TLS wygenerowana dla Ingress z adnotacją nginx.ingress.kubernetes.io/auth-tls-secret była nazwana według przestrzeni nazw i nazwy Ingress. W rezultacie dwa obiekty Ingress współdzielące ten sam host, ten sam sekret CA klienta i ten sam tryb uwierzytelniania klienta tworzyły dwie różne nazwy opcji TLS dla tego hosta. Traefik traktuje to jako konflikt opcji TLS i wraca do domyślnej konfiguracji TLS punktu wejścia, która nie wymaga certyfikatu klienta, więc trasa skonfigurowana z nginx.ingress.kubernetes.io/auth-tls-verify-client: "on" staje się osiągalna bez certyfikatu klienta. Dotyczy tylko linii v3.7; problem naprawiono w v3.7.11.
- CVE-2026-85595Krytyczne
Traefik w wersjach przed v2.11.55 oraz w wersjach v3.0.0 do v3.7.10 zawiera podatność na obejście uwierzytelniania w middleware digestAuth, gdzie nieznane nazwy użytkowników otrzymują pusty sekret zamiast odrzucenia. Atakujący mogą obliczyć poprawną odpowiedź digest przy użyciu pustego sekretu i dowolnych poświadczeń, aby obejść uwierzytelnianie na dowolnej trasie chronionej przez digestAuth bez ważnej nazwy użytkownika lub hasła.
- CVE-2026-85594Krytyczne
Traefik w wersjach od v3.7.1 nie egzekwuje ograniczeń crossProviderNamespaces dla adnotacji traefik.ingress.kubernetes.io/service.middlewares w dostawcy Kubernetes Ingress. Dzierżawca z ograniczeniem do przestrzeni nazw, wykluczony z listy dozwolonych, może dołączyć do swojej usługi middleware należący do operatora, a jeśli ten middleware wstrzykuje poświadczenia backendu, może je odzyskać na kontrolowanym backendzie.
- CVE-2026-71324Krytyczne
Podatność w Traefik (przed 2.11.53, 3.6.24 i 3.7.9) w domyślnym proxy HTTP. Przekazywanie żądań CONNECT może prowadzić do desynchronizacji połączeń, umożliwiając atakującemu przemycenie odpowiedzi do innego klienta.
- CVE-2026-54763Krytyczne
W Traefik przed wersjami v2.11.51, v3.6.22 i v3.7.6, mechanizmy uwierzytelniania BasicAuth, DigestAuth i ForwardAuth nie usuwają nagłówków tożsamości z podkreślnikami, które backendy normalizują do postaci z myślnikami. Atakujący może wstrzyknąć taki nagłówek, aby podszyć się pod tożsamość lub ominąć autoryzację.
- CVE-2026-53622Krytyczne
Traefik w wersjach przed 3.7.3, 3.6.18 i 2.11.51 ma krytyczną podatność w wyborze konfiguracji TLS dla HTTP/3 (QUIC), która pozwala nieuwierzytelnionym klientom ominąć egzekwowanie mTLS specyficzne dla routera. Gdy HTTP/3 jest włączone na entrypoincie, uzgadnianie TLS wybiera konfigurację TLS na podstawie dokładnego, uwzględniającego wielkość liter wyszukiwania wartości SNI, co nie obsługuje wzorców z wildcardami (np. *.example.com) ani wariantów wielkości liter skonfigurowanej nazwy hosta. W rezultacie klient może ukończyć uzgadnianie QUIC bez przedstawienia certyfikatu, a warstwa routingu HTTP nadal kieruje żądanie do backendu chronionego polityką mTLS specyficzną dla routera.
Oryginalny opis (angielski, źródło NVD)
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.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

