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.
Advisories
Source ID Title
Debian DLA Debian DLA DLA-3947-1 puma security update
EUVD EUVD EUVD-2024-2761 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.
Github GHSA Github GHSA GHSA-9hf4-67fc-4vf4 Puma's header normalization allows for client to clobber proxy set headers
Ubuntu USN Ubuntu USN USN-7031-1 Puma vulnerability
Ubuntu USN Ubuntu USN USN-7031-2 Puma vulnerability
Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

Wed, 16 Jul 2025 13:45:00 +0000

Type Values Removed Values Added
Metrics epss

{'score': 0.00061}

epss

{'score': 0.00072}


Thu, 26 Sep 2024 13:45:00 +0000

Type Values Removed Values Added
First Time appeared Puma
Puma puma
Weaknesses CWE-444
CPEs cpe:2.3:a:puma:puma:*:*:*:*:*:ruby:*:*
Vendors & Products Puma
Puma puma

Fri, 20 Sep 2024 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 20 Sep 2024 07:30:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Moderate


Thu, 19 Sep 2024 23:00:00 +0000

Type Values Removed Values Added
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.
Title Header normalization allows for client to clobber proxy set headers in Puma
Weaknesses CWE-639
References
Metrics cvssV3_1

{'score': 5.4, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2024-09-20T13:54:50.515Z

Reserved: 2024-09-02T16:00:02.425Z

Link: CVE-2024-45614

cve-icon Vulnrichment

Updated: 2024-09-20T13:54:46.693Z

cve-icon NVD

Status : Analyzed

Published: 2024-09-19T23:15:11.703

Modified: 2024-09-26T13:28:30.537

Link: CVE-2024-45614

cve-icon Redhat

Severity : Moderate

Publid Date: 2024-09-19T23:15:11Z

Links: CVE-2024-45614 - Bugzilla

cve-icon OpenCVE Enrichment

No data.