W Traefik, popularnym reverse proxy dla środowisk Cloud Native, wykryto podatność umożliwiającą atakującemu zdalne usunięcie lub modyfikację krytycznych nagłówków HTTP (np. X-Forwarded-Host, X-Forwarded-Port) dodawanych przez proxy przed przekazaniem żądania do aplikacji. Jest to groźne, ponieważ aplikacje backendowe ufają wartościom tych nagłówków, co może prowadzić do poważnych naruszeń bezpieczeństwa.
▸ Pokaż oryginał (EN)
Traefik is a golang, Cloud Native Application Proxy. When a HTTP request is processed by Traefik, certain HTTP headers such as X-Forwarded-Host or X-Forwarded-Port are added by Traefik before the request is routed to the application. For a HTTP client, it should not be possible to remove or modify these headers. Since the application trusts the value of these headers, security implications might arise, if they can be modified. For HTTP/1.1, however, it was found that some of theses custom headers can indeed be removed and in certain cases manipulated. The attack relies on the HTTP/1.1 behavior, that headers can be defined as hop-by-hop via the HTTP Connection header. This issue has been addressed in release versions 2.11.9 and 3.1.3. Users are advised to upgrade. There are no known workarounds for this vulnerability.
Podatność wykorzystuje specyfikę protokołu HTTP/1.1, zgodnie z którą nagłówki można oznaczyć jako hop-by-hop za pomocą nagłówka Connection. Atakujący wysyła spreparowane żądanie HTTP/1.1, w którym nagłówek Connection wskazuje na nagłówki takie jak X-Forwarded-Host lub X-Forwarded-Port, co powoduje ich usunięcie lub modyfikację przez pośredni węzeł. W efekcie Traefik nie chroni skutecznie integralności nagłówków dodawanych po swojej stronie przed przekazaniem żądania do aplikacji docelowej. Podatność jest wyzyskiwalna zdalnie, bez uwierzytelnienia i bez interakcji użytkownika.
Atakujący może manipulować wartościami nagłówków zaufanych przez aplikację backendową (np. X-Forwarded-Host, X-Forwarded-Port), co może prowadzić do obejścia mechanizmów kontroli dostępu, fałszowania tożsamości hosta, ataków typu SSRF lub innych naruszeń integralności i poufności przetwarzanych danych.
Należy zaktualizować Traefik do wersji 2.11.9 lub nowszej (gałąź 2.x) albo do wersji 3.1.3 lub nowszej (gałąź 3.x). Producent wskazuje, że nie istnieją znane obejścia tej podatności — aktualizacja jest jedynym zalecanym rozwiązaniem.
Traefik w wersjach wcześniejszych niż 2.11.9 (gałąź 2.x) oraz wcześniejszych niż 3.1.3 (gałąź 3.x)
Podatność została zgłoszona i naprawiona przez zespół Traefik; szczegóły dostępne w security advisory GHSA-62c8-mh53-4cqv. Brak znanych workaroundów potwierdzony przez producenta.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HTraefik
APPTraefik< 2.11.93.0.0 – 3.1.3 (bez)
Powiązane podatności
Traefik is an HTTP reverse proxy and load balancer. Prior to 3.7.3, there is a critical vulnerability in Traef...
Traefik is an HTTP reverse proxy and load balancer. From 3.7.0 until 3.7.3, there is a high severity vulnerabi...
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...
Traefik is an HTTP reverse proxy and load balancer. Prior to versions 2.11.43, 3.6.14, and 3.7.0-rc.2, there i...
Traefik is an HTTP reverse proxy and load balancer. Prior to versions 2.11.43, 3.6.14, and 3.7.0-rc.2, there i...