Description
Puma is a Ruby/Rack web server built for parallelism. From 5.5.0 until 7.2.1 and 8.0.2, Puma is vulnerable to source IP spoofing when set_remote_address proxy_protocol: :v1 is enabled and persistent connections are used because Puma incorrectly re-parses PROXY protocol headers after each keep-alive request on the same connection, allowing an attacker to inject a second PROXY header and overwrite REMOTE_ADDR. This issue is fixed in versions 7.2.1 and 8.0.2.
Published: 2026-07-14
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Puma, a Ruby/Rack web server designed for parallelism, mishandles PROXY protocol v1 headers on persistent connections. From version 5.5.0 up through 7.2.1 and 8.0.2, when set_remote_address proxy_protocol is set to :v1, Puma re‑parses the PROXY header after each keep‑alive request on the same TCP connection. This allows an attacker to inject a second PROXY header and overwrite the REMOTE_ADDR value that applications rely on. The result is source IP spoofing, letting the attacker masquerade as a trusted client and potentially bypass IP‑based controls. The flaw was corrected in Puma 7.2.1 and 8.0.2.

Affected Systems

The vulnerability affects Puma web servers from version 5.5.0 up to, but not including, 7.2.1 and 8.0.2. The affected product is the Puma Ruby/Rack web server.

Risk and Exploitability

The CVSS score of 7.5 indicates a high severity, but the EPSS score is below 1%, suggesting low current exploitation probability. The vulnerability is not listed in the CISA KEV catalog. Potential attackers would need network access capable of sending PROXY protocol v1 headers to the remote network connection and does not require local privileges or code execution. However, the impact of successful IP spoofing can be significant for applications relying on client address validation.

Generated by OpenCVE AI on July 31, 2026 at 05:16 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Puma web server to version 7.2.1 or 8.0.2 or later, which contain the proper PROXY protocol header parsing fix.
  • If an upgrade cannot be performed immediately, disable PROXY protocol v1 support (set_remote_address: :v1) or configure the server to disallow persistent connections while PROXY protocol is enabled.
  • Implement network controls or firewall rules to block or monitor repeated PROXY header injections on the same TCP connection to mitigate potential spoofing attempts.

Generated by OpenCVE AI on July 31, 2026 at 05:16 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-2vqw-3mp8-cgmx Puma PROXY Protocol v1 Accepts Repeated Protocol Headers on Persistent Connections
History

Wed, 15 Jul 2026 16:30:00 +0000

Type Values Removed Values Added
First Time appeared Puma
Puma puma
Vendors & Products Puma
Puma puma

Wed, 15 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Wed, 15 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-358
References
Metrics threat_severity

None

threat_severity

Important


Tue, 14 Jul 2026 20:00:00 +0000

Type Values Removed Values Added
Description Puma is a Ruby/Rack web server built for parallelism. From 5.5.0 until 7.2.1 and 8.0.2, Puma is vulnerable to source IP spoofing when set_remote_address proxy_protocol: :v1 is enabled and persistent connections are used because Puma incorrectly re-parses PROXY protocol headers after each keep-alive request on the same connection, allowing an attacker to inject a second PROXY header and overwrite REMOTE_ADDR. This issue is fixed in versions 7.2.1 and 8.0.2.
Title Puma PROXY Protocol v1 Accepts Repeated Protocol Headers on Persistent Connections
Weaknesses CWE-290
CWE-345
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-15T14:10:20.444Z

Reserved: 2026-05-19T22:16:39.503Z

Link: CVE-2026-47737

cve-icon Vulnrichment

Updated: 2026-07-15T14:10:16.549Z

cve-icon NVD

No data.

cve-icon Redhat

Severity : Important

Publid Date: 2026-07-14T19:45:16Z

Links: CVE-2026-47737 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T05:30:07Z

Weaknesses
  • CWE-290

    Authentication Bypass by Spoofing

  • CWE-345

    Insufficient Verification of Data Authenticity

  • CWE-358

    Improperly Implemented Security Check for Standard