CVE-2024-45614: Header normalization allows for client to clobber proxy set headers in Puma
Vulnerability summary
CVE-2024-45614 is a medium (CVSS 5.4) vulnerability in puma. EPSS estimates a 0.64% chance of exploitation in the next 30 days, higher than 50.7% of scored vulnerabilities.
Not severe (CVSS 5.4, network access); no exploitation reported by the 5 checked sources
Source freshness unavailable
How is this decided?Advisory lineage
Upstream 0 · Downstream 6 · Related 9Timeline
- 19-09-2024PublishedVulnerability first disclosed.
- 03-11-2025Last modifiedVulnerability information updated.
Description
Puma is a Ruby/Rack web server built for parallelism. In affected versions clients could clobber values set by intermediate proxies (such as X-Forwarded-For) by providing a underscore version of the same header (X-Forwarded_For). Any users relying on proxy set variables is affected. v6.4.3/v5.6.9 now discards any headers using underscores if the non-underscore version also exists. Effectively, allowing the proxy defined headers to always win. Users are advised to upgrade. Nginx has a underscores_in_headers configuration variable to discard these headers at the proxy level as a mitigation. Any users that are implicitly trusting the proxy defined headers for security should immediately cease doing so until upgraded to the fixed versions.
CVSS metrics
8 scores · 7 sources · 2 versions- OSV · UbuntuEcosystem advisory · calculated5.4MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
- OSV · DebianEcosystem advisory · calculated5.4MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
- OSV · WolfiEcosystem advisory · calculated5.4MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
- OSV · ChainguardEcosystem advisory · calculated5.4MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
- OSV · RubygemsEcosystem advisory · calculated5.4MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
- NVDNIST5.4MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
EPSS trend
Probability
0.64%
Chance of exploitation in the next 30 days
Percentile
51%
Versus all other CVEs
30-day change
No change 0.00 pp
From 0.64% on 04-10-2026
Known exploited
Compare KEV catalogsNot in the CISA KEV catalog.
Not in the ENISA CNW catalog.
Not in the CIRCL catalog.
Public exploits
0 foundNo public exploits indexed.
Weaknesses
CWE · root cause- CWE-639Authorization Bypass Through User-Controlled KeyThe system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key value identifying the data.
- CWE-444Inconsistent Interpretation of HTTP RequestsThe product acts as an intermediary HTTP agent (such as a proxy or firewall) in the data flow between two entities such as a client and server, but it does not interpret malformed HTTP requests or responses in ways that are consistent with how the messages will be processed by those entities that are at the ultimate destination.
Affected systems
Known conditions: network-reachable, no authentication, no user interaction (CVSS vector). Other conditions: not stated in public data.
Chainguard4 products
- gitlab-cng-18.2< 18.2.1-r1
- gitlab-logger-18.1< 18.1.3-r2
- gitlab-logger-18.2< 18.2.1-r1
- ruby3.2-puma< 6.4.3-r0
Wolfi2 products
- gitlab-cng-18.2< 18.2.1-r1
- ruby3.2-puma< 6.4.3-r0
Debian1 product
- puma< 5.6.5-3+deb12u1 | < 6.4.3-1
Opensuse1 product
- rubygem-puma&distro=openSUSE Tumbleweed< 6.4.3-1.1
Puma1 product
- puma< 5.6.9 | ≥ 6.0.0, < 6.4.3
RubyGems1 product
- puma< 5.6.9 | ≥ 6.0.0, < 6.4.3
Ubuntu1 product
- puma< 6.4.2-4ubuntu4.3 | < 3.12.4-1ubuntu2+esm2 | < 5.5.2-2ubuntu2+esm2
7 vendors · 11 products
References
16 links- github.com/puma/puma/security/advisories/GHSA-9hf4-67fc-4vf4X Refsource CONFIRMREPORTAdvisoryWEBVendor Advisory
Show all 16 references
- lists.opensuse.org/archives/…Advisory
- github.com/puma/pumaPACKAGE