7.5

CVE-2021-29509: Keepalive Connections Causing Denial Of Service in puma

Modified
AliasesSUSE-SU-2021:2761-1SUSE-SU-2021:2914-1UBUNTU-CVE-2021-29509
Published 11-05-2021Last modified 03-08-2024

Vulnerability summary

CVE-2021-29509 is a high (CVSS 7.5) Uncontrolled Resource Consumption vulnerability in debian debian_linux. EPSS estimates a 1.60% chance of exploitation in the next 30 days, higher than 75.8% of scored vulnerabilities.

Priority
Prioritisesevere

Severe, CVSS 7.5 (CVE.org); no exploitation reported by the 5 checked sources; EPSS 2% (FIRST, 03-11-2026)

Source freshness unavailable

How is this decided?
CVSS score
7.5/10
010
High · v3.1 (CVE.org)
EPSS score
1.60%
0%100%
Low · 0.00 pp in 30 days
KEVNot listedNot listed by any tracked catalog.
RansomwareNot flaggedNo ransomware use recorded.
Public exploits0No public exploits recorded

Advisory lineage

Upstream 0 · Downstream 6 · Related 4

Timeline

  1. 11-05-2021
    PublishedVulnerability first disclosed.
  2. 03-08-2024
    Last modifiedVulnerability information updated.

Description

Puma is a concurrent HTTP 1.1 server for Ruby/Rack applications. The fix for CVE-2019-16770 was incomplete. The original fix only protected existing connections that had already been accepted from having their requests starved by greedy persistent-connections saturating all threads in the same process. However, new connections may still be starved by greedy persistent-connections saturating all threads in all processes in the cluster. A `puma` server which received more concurrent `keep-alive` connections than the server had threads in its threadpool would service only a subset of connections, denying service to the unserved connections. This problem has been fixed in `puma` 4.3.8 and 5.3.1. Setting `queue_requests false` also fixes the issue. This is not advised when using `puma` without a reverse proxy, such as `nginx` or `apache`, because you will open yourself to slow client attacks (e.g. slowloris). The fix is very small and a git patch is available for those using unsupported versions of Puma.

CVSS metrics

6 scores · 5 sources · 2 versions

EPSS trend

Probability

1.60%

Chance of exploitation in the next 30 days

Percentile

76%

Versus all other CVEs

30-day change

No change 0.00 pp

From 1.60% on 04-10-2026

04-10-202603-11-2026

Known exploited

Compare KEV catalogs
CISA KEV

Not in the CISA KEV catalog.

ENISA CNW

Not in the ENISA CNW catalog.

CIRCL

Not in the CIRCL catalog.

Public exploits

0 found

No public exploits indexed.

Weaknesses

CWE · root cause

Affected systems

Version check

Known conditions: network-reachable, no authentication, no user interaction (CVSS vector). Other conditions: not stated in public data.

Debian2 products
Suse2 products
  • rubygem-puma&distro=SUSE OpenStack Cloud Crowbar 8< 2.16.0-3.12.1
  • rubygem-puma&distro=SUSE OpenStack Cloud Crowbar 9< 2.16.0-4.12.1
Puma1 product
  • puma< 4.3.8 | ≥ 5.0.0, < 5.3.1
RubyGems1 product
  • puma< 4.3.8 | ≥ 5.0.0, < 5.3.1
Ubuntu1 product
  • puma< 3.12.4-1ubuntu2 | < 5.5.2-2ubuntu2

5 vendors · 7 products

References

16 links
Show all 16 references