ForwardAuth middleware leaks X-Forwarded-Port spoofing via untrusted X-Forwarded-Proto when trustForwardHeader=false
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 2.11.51, 3.6.22, 3.7.6
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: yes
- Technical impact: partial
Summary
Traefik is an HTTP reverse proxy and load balancer. Prior to v2.11.51, v3.6.22, and v3.7.6, Traefik's ForwardAuth middleware, even when configured with trustForwardHeader: false, derives the X-Forwarded-Port header sent to the authentication service from the original incoming request instead of the sanitized forwarded request. As a result, an unauthenticated remote attacker can inject an X-Forwarded-Proto: https header over a plain HTTP connection and cause Traefik to forward X-Forwarded-Port: 443 to the authentication service, bypassing port-based authorization checks. This issue is fixed in versions v2.11.51, v3.6.22, and v3.7.6.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- traefik traefik
fixed in 2.11.51; From 3.0.0 · fixed in 3.6.22; From 3.7.0 · fixed in 3.7.6
- github.com/traefik/traefik/v2Go
fixed in 2.11.51
- github.com/traefik/traefik/v3Go
fixed in 3.6.22
- github.com/traefik/traefik/v3Go
From 3.7.0 · fixed in 3.7.6
- github.com/traefik/traefikGo
through 1.7.34
- github.com/traefik/traefikGo
All versions
- github.com/traefik/traefik/v3Go
fixed in 3.6.22; From 3.7.0 · fixed in 3.7.6