Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconIdentify exposed Puma listener with PROXY v1
-
DeliveryOpen raw TCP connection to port
-
ExploitSend bytes without CRLF terminator
-
InstallForce unbounded pre-parse buffer growth
-
C2Trigger repeated CRLF scans on growing buffer
-
ExecuteExhaust worker memory or CPU
-
ImpactPuma process OOM, service unavailable
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires that the target Puma server (version 5.5.0 through 7.2.0, or 8.0.0/8.0.1) has the non-default |
| Impact | The CVSS v3.1 vector AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H correctly characterises an unauthenticated network-reachable availability-only flaw, scoring 7.5 (High). The realistic risk is more nuanced: exploitation is trivial (a single TCP connection with no CRLF), automatable, and pre-authentication, but the impact is bounded to denial of service of the Puma process or container, with no path to code execution or data disclosure. The advisory itself notes that only deployments enabling the non-default |
| Exploit ScenarioDerived | An attacker identifies an internet-reachable Puma listener that has PROXY protocol v1 enabled (for example, a misconfigured deployment where the listener is exposed alongside, rather than behind, the load balancer). The attacker opens a TCP socket and slowly trickles bytes that never contain '\r\n', causing Puma to accumulate the data in its pre-parse buffer and repeatedly scan it for CRLF; a handful of such connections from a single host can drive the worker process into out-of-memory termination or pin CPU, taking the service offline. No public exploit identified at time of analysis, but a working proof of concept is on the order of a few lines of netcat or Python. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 09, 2026
Remote denial-of-service in Puma Ruby web server versions 5.5.0 through 7.2.0 and 8.0.0 through 8.0.1 allows unauthenticated attackers to exhaust process memory by opening a TCP connection and sending data without CRLF terminators when PROXY protocol v1 support is enabled. The vulnerability lives in the PROXY v1 pre-parse buffer, which grows without bound while Puma waits for the '\r\n' delimiter, leading to OOM kills or container restarts. No public exploit identified at time of analysis, and the issue only affects servers explicitly opting into the non-default set_remote_address proxy_protocol: :v1 configuration.
RemediationAI
Vendor-released patch: upgrade Puma to 7.2.1 (for the 5.5.0-7.2.0 branch) or 8.0.2 (for the 8.0.x branch) per GHSA-qpgp-93vx-g8v8. If immediate upgrade is not possible and PROXY protocol v1 is not actually required, remove or comment out the set_remote_address proxy_protocol: :v1 line in the Puma DSL configuration; the trade-off is that Puma will then see the load balancer's IP as the client address unless another mechanism (e.g. trusted X-Forwarded-For handling in the application) is in place. If PROXY v1 must remain enabled, restrict L4 access to the Puma listener so that only trusted load balancers or reverse proxies (e.g. HAProxy, AWS NLB, GCP TCP LB) can connect, using firewall, security group, or network policy rules to block arbitrary client TCP access - be aware this protection collapses if an attacker can pivot into the same network segment or if the load balancer forwards arbitrary client TCP without sanitisation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in rubygems
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Puma is a widely deployed multi-threaded Ruby HTTP server commonly used to host Rails and Rack applications behind load balancers. The HAProxy PROXY protocol v1 is a plaintext protocol that prepends a line such as 'PROXY TCP4 src dst sport dport\r\n' to a TCP connection so the backend can recover the real client address through an L4 proxy. Puma added optional PROXY v1 parsing in version 5.5.0; the parser, implemented in lib/puma/client.rb against the PROXY_PROTOCOL_V1_REGEX constant in lib/puma/const.rb, accumulates inbound bytes into a pre-parse buffer and rescans it for CRLF on every read. Because there is no cap on the buffer size or on the time spent waiting for the delimiter, this is a textbook CWE-400 (Uncontrolled Resource Consumption) and CWE-770 (Allocation of Resources Without Limits or Throttling) condition - an attacker controls how much data is held in memory and how often the scan runs.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Primary rating from Vendor (https://github.com/puma/puma).
CVSS VectorVendor: https://github.com/puma/puma
DescriptionCVE.org
Impact
PROXY protocol support for Puma was added in version 5.5.0.
When PROXY protocol v1 support is enabled, Puma reads incoming bytes into an internal buffer. It waits for "\r\n" to determine whether a PROXY v1 line is present. If an attacker opens a TCP connection and continuously sends bytes without CRLF, Puma keeps appending to this pre-parse buffer.
This can cause unbounded in-process memory growth and additional CPU cost from repeatedly scanning the growing buffer for CRLF. A single, unauthenticated TCP connection can drive significant memory growth and may cause process/container OOM or degraded availability.
Only Puma servers using the following non-default config are affected:
set_remote_address proxy_protocol: :v1Patches
Users should upgrade to versions 7.2.1 or 8.0.2.
Workarounds
- Disable PROXY protocol v1 parsing if it is not required:
# remove/comment this:
# set_remote_address proxy_protocol: :v1- Restrict direct network access to Puma listeners using PROXY protocol:
- Only allow trusted load balancers/reverse proxies to connect.
- Block arbitrary client TCP access with firewall/security group rules.
Resources
Executive ViewAI
Puma Ruby web server versions 5.5.0-7.2.0 and 8.0.0-8.0.1 contain a remote denial-of-service vulnerability allowing unauthenticated attackers to crash affected application servers through memory exhaustion, causing service outages and container restarts. Organizations deploying Puma with PROXY protocol v1 support enabled face immediate operational risk and potential business disruption if the configuration is active in production environments.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable PROXY protocol v1 configuration if not required for production traffic; (2) Implement network segmentation and firewall rules to restrict PROXY protocol connections to known, trusted load balancer IP ranges only; (3) Configure application server resource limits (memory caps, connection limits) and auto-restart policies to minimize outage duration; (4) Deploy rate-limiting or connection-timeout mechanisms at the reverse proxy layer to reject malformed PROXY protocol requests; (5) Monitor memory usage and establish alerting for anomalous consumption patterns in production environments.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Same weakness CWE-400 – Uncontrolled Resource Consumption
View allSame technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise High Availability Extension 15 SP7 | Affected |
| SUSE Linux Enterprise High Availability Extension 15 SP4 | Affected |
| SUSE Linux Enterprise High Availability Extension 15 SP5 | Affected |
| SUSE Linux Enterprise High Availability Extension 15 | Affected |
| SUSE Linux Enterprise High Availability Extension 15 SP1 | Affected |
| SUSE Linux Enterprise High Availability Extension 15 SP2 | Affected |
| SUSE Linux Enterprise High Availability Extension 15 SP3 | Affected |
| SUSE Linux Enterprise High Availability Extension 15 SP6 | Affected |
| openSUSE Leap 15.3 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-44442
GHSA-qpgp-93vx-g8v8
NVD
CVE.org
EPSS
VulDB
Exploit-DB