Advisory Database
  • Advisories
  • Dependency Scanning
  1. gem
  2. ›
  3. puma
  4. ›
  5. CVE-2026-47737

CVE-2026-47737: Puma PROXY Protocol v1 Accepts Repeated Protocol Headers on Persistent Connections

June 9, 2026 (updated November 2, 2026)

Puma is vulnerable to source IP spoofing when set_remote_address proxy_protocol: :v1 is enabled and persistent connections are used.

PROXY protocol v1 is a connection-level protocol. Support was added to Puma in v5.5.0. A proxy sends one PROXY header at the beginning of a TCP connection, before any HTTP data. Puma incorrectly re-parsed PROXY protocol headers after each keep-alive request on the same connection. An attacker able to send HTTP requests through a trusted proxy could therefore inject a second PROXY header between HTTP requests. Puma would treat the injected header as authoritative for the next request and overwrite REMOTE_ADDR.

This can mislead applications or middleware that use REMOTE_ADDR for security decisions, rate limiting, auditing, or allow/deny lists.

Only deployments that explicitly enable PROXY protocol v1 are affected, and will have set:

set_remote_address proxy_protocol: :v1

Puma’s default configuration is not affected. Deployments that do not use persistent connections to Puma are also not expected to be affected by this issue.

References

  • github.com/advisories/GHSA-2vqw-3mp8-cgmx
  • github.com/puma/puma/commit/439c6136d9c2275721b7864db3ee78af7c80889f
  • github.com/puma/puma/commit/ebe9db3929ab8299d19c8f5b41e8ef4f4b22fa58
  • github.com/puma/puma/pull/3944
  • github.com/puma/puma/pull/3947
  • github.com/puma/puma/releases/tag/v7.2.1
  • github.com/puma/puma/releases/tag/v8.0.2
  • github.com/puma/puma/security/advisories/GHSA-2vqw-3mp8-cgmx
  • github.com/rubysec/ruby-advisory-db/blob/master/gems/puma/CVE-2026-47737.yml
  • nvd.nist.gov/vuln/detail/CVE-2026-47737
  • nvd.nist.gov/vuln/detail/cve-2026-47737
  • www.cve.org/CVERecord/SearchResults?query=CVE-2026-47737

Code Behaviors & Features

Detect and mitigate CVE-2026-47737 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions starting from 5.5.0 before 7.2.1, all versions starting from 8.0.0 before 8.0.2

Fixed versions

  • 7.2.1
  • 8.0.2

Solution

Upgrade to versions 7.2.1, 8.0.2 or above.

Impact 7.5 HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

Learn more about CVSS

Weakness

  • CWE-290: Authentication Bypass by Spoofing
  • CWE-345: Insufficient Verification of Data Authenticity

Source file

gem/puma/CVE-2026-47737.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:16:09 +0000.