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.
The vulnerability exploits the specifics of the HTTP/1.1 protocol, where headers can be marked as hop-by-hop using the Connection header. An attacker sends a crafted HTTP/1.1 request in which the Connection header points to headers such as X-Forwarded-Host or X-Forwarded-Port, causing them to be removed or modified by an intermediate node. As a result, Traefik does not effectively protect the integrity of headers added on its side before passing the request to the target application. The vulnerability is remotely exploitable, requires no authentication, and requires no user interaction.
An attacker can manipulate header values trusted by the backend application (e.g., X-Forwarded-Host, X-Forwarded-Port), which may lead to bypass of access control mechanisms, host identity spoofing, SSRF attacks, or other violations of data integrity and confidentiality.
Update Traefik to version 2.11.9 or newer (2.x branch) or to version 3.1.3 or newer (3.x branch). The vendor indicates that no known workarounds exist for this vulnerability — updating is the only recommended solution.
Traefik in versions earlier than 2.11.9 (2.x branch) and earlier than 3.1.3 (3.x branch)
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)
Related vulnerabilities
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...