Skip to content
OpenAdvisories
High · 7.5 CVE-2026-47737 EUVD-2026-44427GHSA-2vqw-3mp8-cgmx

Puma PROXY Protocol v1 Accepts Repeated Protocol Headers on Persistent Connections

Published Jul 14, 2026 · Updated Jul 15, 2026 · Assigned by GitHub_M

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.

Affected products

VendorProductAffectedFixed
puma puma >= 5.5.0, < 7.2.1, >= 8.0.0, < 8.0.2 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 puma 8.0.2-1 —
Debian 13 puma No fix yet —
Debian 12 puma 5.6.5-3+deb12u2 —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 puma No fix yet —
Ubuntu 26.04 LTS puma No fix yet —
Ubuntu 24.04 LTS puma No fix yet —
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 22.04 LTS puma No fix yet —
Ubuntu Pro 20.04 LTS puma No fix yet —

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling logstash-9.3 +1 9.3.7-r0 —
Wolfi rolling logstash-9.4 +1 9.4.4-r0 —

Affected packages

EcosystemPackageAffectedFixedRecord
RubyGems puma >= 8.0.0, < 8.0.2 8.0.2 GHSA-2vqw-3mp8-cgmx
RubyGems puma >= 5.5.0, < 7.2.1 7.2.1 GHSA-2vqw-3mp8-cgmx

References