CVE-2026-47737

Source
https://cve.org/CVERecord?id=CVE-2026-47737
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-47737.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2026-47737
Aliases
Downstream
CGA (80)
CLEANSTART (2)
DEBIAN (1)
MINI (26)
UBUNTU (1)
Published
2026-07-14T19:45:16Z
Modified
2026-10-16T02:59:50Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N CVSS Calculator
Summary
Puma PROXY Protocol v1 Accepts Repeated Protocol Headers on Persistent Connections
Details

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.

Database specific
{
    "cna_assigner":  "GitHub_M",
    "cwe_ids":  [
        "CWE-290",
        "CWE-345"
    ],
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/47xxx/CVE-2026-47737.json"
}
References

Affected packages

Git / github.com/puma/puma

Affected ranges

Type
GIT
Repo
https://github.com/puma/puma
Events
Database specific
Show details
{
    "extracted_events":  [
        {
            "range":  [
                {
                    "introduced":  "5.5.0"
                },
                {
                    "fixed":  "7.2.1"
                }
            ],
            "source":  "AFFECTED_FIELD",
            "strategy":  "StringRangeExpression"
        },
        {
            "range":  [
                {
                    "introduced":  "8.0.0"
                },
                {
                    "fixed":  "8.0.2"
                }
            ],
            "source":  "AFFECTED_FIELD",
            "strategy":  "StringRangeExpression"
        },
        {
            "range":  [
                {
                    "fixed":  "439c6136d9c2275721b7864db3ee78af7c80889f"
                }
            ],
            "source":  "REFERENCES_COMMIT"
        },
        {
            "range":  [
                {
                    "fixed":  "ebe9db3929ab8299d19c8f5b41e8ef4f4b22fa58"
                }
            ],
            "source":  "REFERENCES_COMMIT"
        },
        {
            "original_tag":  "v7.2.1",
            "range":  [
                {
                    "fixed":  "92754ace040db67622f0e6406dea0b47c94d0139"
                }
            ],
            "source":  "REFERENCES_TAG"
        },
        {
            "original_tag":  "v8.0.2",
            "range":  [
                {
                    "fixed":  "8085b75e79e3f7f1a96e5b488d74a71f62edd24d"
                }
            ],
            "source":  "REFERENCES_TAG"
        }
    ]
}

Affected versions

v5.*
v5.5.0
v5.5.1
v5.5.2
v5.6.0
v5.6.1
v5.6.3
v6.*
v6.0.0
v6.0.1
v6.0.2
v6.1.0
v6.2.0
v6.2.1
v6.2.2
v6.3.0
v6.4.0
v6.5.0
v6.6.0
v6.6.1
v7.*
v7.0.0
v7.0.0.pre1
v7.0.1
v7.0.2
v7.0.3
v7.0.4
v7.1.0
v7.2.0
v8.*
v8.0.0
v8.0.1

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-47737.json"