CVE-2024-45614
rubygem-puma: Header normalization allows for client to clobber proxy set headers
Severity
ModerateRed Hat Product Security
CVSS 3.1
Review impact separately from score.
Published · September 20, 2024
Updated · August 17, 2026
Description
A flaw was found in rubygem-puma. In affected versions, clients could clobber values set by intermediate proxies (such as X-Forwarded-For) by providing an underscore version of the same header (X-Forwarded_For). Any users relying on proxy set variables are 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. As a mitigation, Nginx has an underscores_in_headers configuration variable to discard these headers at the proxy level. Any users that are implicitly trusting the proxy defined headers for security should immediately cease doing so until upgraded to the fixed versions.
Statement
This issue is classified as moderate severity rather than important because, while it allows clients to manipulate proxy-set headers like X-Forwarded-For, its exploitability depends on specific conditions. The vulnerability only affects applications that rely on these headers for security purposes, such as IP-based access controls or logging, and is mitigated by proper server configurations (e.g., using underscores_in_headers off in Nginx). Furthermore, it does not directly compromise the server's integrity or enable arbitrary code execution.
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base or stability.
CVSS / CWE
CVSS 3.1 · 5.4CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
CWE-639 · Authorization Bypass Through User-Controlled Key