← back
CVE-2024-45410

HTTP client can remove the X-Forwarded headers in Traefik

CVSS 9.8 CRITICALEPSS 1.5%CWE-345CWE-348
In short

Traefik adds security headers (like X-Forwarded-Host) to requests before sending them to applications, but attackers can remove these headers using HTTP/1.1 tricks, potentially fooling the application into trusting malicious information.

Technical detail

HTTP/1.1 clients can exploit the Connection header mechanism to mark X-Forwarded-* headers as hop-by-hop, causing Traefik to strip them from requests before reaching the backend application. This undermines header-based security assumptions and can lead to host/port spoofing and authentication bypasses if the application relies on these headers for routing, validation, or access control decisions.

Summary generated and translated by AI from the official description.
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.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Affected products
traefik · traefik
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.

Want to know if your infrastructure is exposed to this?

Talk to TrueHacking →