CVE-2024-45614

Header normalization allows for client to clobber proxy set headers in Puma

State
Published
Severity
5.4 Medium
Published
Sep 19, 2024
Updated
Nov 3, 2025
Reserved
Sep 2, 2024

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.15.4 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:NGitHub_M

Weaknesses

  • CWE-639 Authorization Bypass Through User-Controlled Key

Affected Products

ProductVersions
pumapuma
  • >= 6.0.0, < 6.4.3Affected
  • < 5.6.9Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.