CVE-2026-47737: Puma PROXY Protocol v1 Accepts Repeated Protocol Headers on Persistent Connections
Affects pumaSource GCVE Database
Not known to be exploited · CVSS 7.5 High : upgrade to 8.0.2 soon.
Data as of 2 Nov 2026, 23:14 UTC
- Patch
- Available – fixed in 8.0.2, 7.2.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:NExploitation evidence
Disclosed: evidence found.
CVE published 9 Jun 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 2 Nov 2026.
What to do
Upgrade puma to 8.0.2; puma to 7.2.1.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| RubyGemspuma | Affected
| Fixed in
|
| RubyGemspuma | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Users should upgrade Puma to versions 7.2.1 or 8.0.2 where this vulnerability is fixed. If upgrading is not immediately possible, users can mitigate the issue by disabling PROXY protocol v1 parsing (removing or commenting out `set_remote_address proxy_protocol: :v1`) or by disabling persistent connections with `enable_keep_alives false`. These mitigations prevent the exploitation of repeated PROXY headers.
Description
Puma web server versions 5.5.0 through 7.2.0 and 8.0.0 through 8.0.1 are vulnerable to source IP spoofing when PROXY protocol v1 is enabled and persistent connections are used. The vulnerability arises because Puma incorrectly re-parses PROXY protocol headers on persistent connections, allowing an attacker to inject repeated PROXY headers and overwrite the REMOTE_ADDR value. This can mislead applications relying on REMOTE_ADDR for security decisions. The issue is fixed in Puma versions 7.2.1 and 8.0.2.
References
- github.com/puma/puma/security/advisories/GHSA-2vqw-3mp8-cgmx (opens in a new tab)
- github.com/puma/puma/pull/3944 (opens in a new tab)
- github.com/puma/puma/pull/3947 (opens in a new tab)
- github.com/puma/puma/commit/439c6136d9c2275721b7864db3ee78af7c80889f (opens in a new tab)
- github.com/puma/puma/commit/ebe9db3929ab8299d19c8f5b41e8ef4f4b22fa58 (opens in a new tab)
- github.com/puma/puma (opens in a new tab)
- github.com/puma/puma/releases/tag/v7.2.1 (opens in a new tab)
- github.com/puma/puma/releases/tag/v8.0.2 (opens in a new tab)
- github.com/rubysec/ruby-advisory-db/blob/master/gems/puma/CVE-2026-47737.yml (opens in a new tab)
- nvd.nist.gov/vuln/detail/cve-2026-47737 (opens in a new tab)
- cve.org/CVERecord/SearchResults?query=CVE-2026-47737 (opens in a new tab)