CVE-2024-45410
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedTraefik 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.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceTraefik adds trusted proxy headers (X-Forwarded-Host, X-Forwarded-Port) to HTTP requests before routing to backends. The vulnerability allows attackers to remove or manipulate these headers in HTTP/1.1 by declaring them as hop-by-hop in the HTTP Connection header. Since applications trust these headers, attackers can potentially perform header injection, host spoofing, or bypass security controls that rely on these values.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data< 2.11.9>= 3.0.0, < 3.1.3CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- None
- Integrity
- High
- Availability
- None
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Identify Traefik installationRun 'traefik version' or check the container/image metadata to find the installed Traefik version numberAffected if The version is less than 2.11.9 OR greater than or equal to 3.0.0 but less than 3.1.3
-
Verify Traefik is acting as reverse proxyCheck if Traefik is configured to forward HTTP requests to backends - review your static or dynamic configuration files (traefik.yml, traefik.toml, or labels in docker-compose/k8s) for entrypoints and routers pointing to backend servicesAffected if Traefik handles HTTP traffic routing to backend services (this is the vulnerable configuration)
-
Confirm X-Forwarded headers are in useInspect the HTTP responses from your backends or check Traefik middleware/logs to see if X-Forwarded-Host and X-Forwarded-Port headers are being added to proxied requestsAffected if Traefik is adding X-Forwarded-Host or X-Forwarded-Port headers to requests (the default proxy behavior)
-
Check for exposed HTTP entrypointsReview Traefik configuration for HTTP-enabled entrypoints (typically 'web' or 'http') that accept external connectionsAffected if Traefik has HTTP entrypoints exposed to untrusted networks or the internet
You are affected if you run a Traefik version below 2.11.9 or between 3.0.0 and 3.1.3, and Traefik is configured as an HTTP reverse proxy that adds X-Forwarded-* headers to backend requests.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scoped2.11.93.1.3
Upgrade Traefik to version 2.11.9/3.1.3 or later to patch the hop-by-hop header handling. No workarounds exist.
Traefik 2.11.9 (2.x line) or Traefik 3.1.3 (3.x line)
- Upgrade Traefik 2.x to version 2.11.9 or later, OR upgrade Traefik 3.x to version 3.1.3 or later
- If currently on Traefik 3.x, prefer upgrading within the 3.x line (to 3.1.3+) rather than downgrading to 2.x to avoid major version migration issues
- Consult the Traefik release notes for your target version to review any changes between your current version and the fixed version
- After upgrade, verify that X-Forwarded-Host and X-Forwarded-Port headers are no longer removable via the HTTP Connection header
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation2.0 h
- Implementation2.0 h
- Testing2.0 h
- Review / QA1.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $1,984.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2024-45410 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2024-45410 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data