Podatność w Traefik pozwala atakującemu na sfałszowanie nagłówków tożsamości lub autoryzacji przekazywanych do backendu poprzez wstrzyknięcie wariantów nagłówków z podkreślnikiem zamiast myślnika. Dotyczy middleware'ów BasicAuth, DigestAuth oraz ForwardAuth i umożliwia ominięcie mechanizmów uwierzytelnienia.
▸ Pokaż oryginał (EN)
Traefik is an HTTP reverse proxy and load balancer. Prior to v2.11.51, v3.6.22, and v3.7.6, Traefik's BasicAuth, DigestAuth, and ForwardAuth middlewares strip canonical-cased spoofed identity headers before writing Traefik's own value, but do not account for underscore-variant header names, which many backends normalize identically to dashed forms. An attacker able to reach a protected route can inject an underscore-variant header that survives Traefik's stripping and reaches the backend alongside, or on the unauthenticated ForwardAuth authResponseHeaders path instead of, the value Traefik intended to set, spoofing identity or authorization context. This issue is fixed in versions v2.11.51, v3.6.22, and v3.7.6.
Traefik przed zaaplikowaniem własnych nagłówków tożsamości usuwa ich sfałszowane odpowiedniki — jednak wyłącznie w kanonicznej formie z myślnikiem (np. X-Forwarded-User). Nie usuwa przy tym wariantów z podkreślnikiem (np. X_Forwarded_User), które wiele backendów normalizuje identycznie do formy z myślnikiem. Atakujący docierający do chronionej trasy może wstrzyknąć taki nagłówek z podkreślnikiem, który przetrwa filtrowanie Traefika i dotrze do backendu obok — lub zamiast — wartości ustawionej przez Traefika. W przypadku ścieżki ForwardAuth z parametrem authResponseHeaders możliwe jest podstawienie własnej wartości nawet bez uwierzytelnienia.
Atakujący może podszyć się pod innego użytkownika lub sfałszować kontekst autoryzacji widoczny przez backend, co prowadzi do nieuprawnionego dostępu do zasobów chronionych mechanizmami uwierzytelnienia Traefika.
Należy zaktualizować Traefik do wersji v2.11.51, v3.6.22 lub v3.7.6, w których problem został naprawiony. Do czasu aktualizacji zaleca się dodatkową walidację nagłówków po stronie backendu oraz blokowanie nagłówków z podkreślnikiem na poziomie infrastruktury.
Traefik w wersjach wcześniejszych niż v2.11.51, v3.6.22 oraz v3.7.6 — wszystkie instancje korzystające z middleware'ów BasicAuth, DigestAuth lub ForwardAuth.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XTraefik
APPTraefik< 2.11.513.0.0 – 3.6.22 (bez)3.7.0 – 3.7.6 (bez)
Powiązane podatności
Traefik: manipulacja nagłówkami HTTP/1.1 poprzez mechanizm hop-by-hop
Traefik: authentication bypass via path traversal w middleware ReplacePathRegex
Traefik is an HTTP reverse proxy and load balancer. From 3.7.0 until 3.7.3, there is a high severity vulnerabi...
Traefik before 2.10.5 and 3.0.0-beta4 is affected by a denial-of-service vulnerability in HTTP/2 request handl...
Traefik is an HTTP reverse proxy and load balancer. Prior to 2.11.48, 3.6.19, and 3.7.3, there is a high sever...