CVE-2019-16770

Potential DOS attack in Puma

Published Dec 5, 2019 CVSS 3.1 · 5.3 Medium EPSS 2.0% KEV · Not listed
Description
In Puma before versions 3.12.2 and 4.3.1, a poorly-behaved client could use keepalive requests to monopolize Puma's reactor and create a denial of service attack. If more keepalive connections to Puma are opened than there are threads available, additional connections will wait permanently if the attacker sends requests frequently enough. This vulnerability is patched in Puma 4.3.1 and 3.12.2.

Remediation

Vendor Workaround

Reverse proxies in front of Puma could be configured to always allow less than X keepalive connections to a Puma cluster or process, where X is the number of threads configured in Puma's thread pool.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Debian DLA Debian DLA DLA-3023-1 puma security update
EUVD EUVD EUVD-2019-0786 In Puma before versions 3.12.2 and 4.3.1, a poorly-behaved client could use keepalive requests to monopolize Puma's reactor and create a denial of service attack. If more keepalive connections to Puma are opened than there are threads available, additional connections will wait permanently if the attacker sends requests frequently enough. This vulnerability is patched in Puma 4.3.1 and 3.12.2.
Github GHSA Github GHSA GHSA-7xx3-m584-x994 A poorly-behaved client could use keepalive requests to monopolize Puma's reactor and create a denial of service attack
History
Type Values Removed Values Added
Metrics epss

{'score': 0.00355}

epss

{'score': 0.00363}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Aug 5, 2024, 1:24 AM
Reserved
Sep 24, 2019, 12:00 AM
Status
Modified
Published
Dec 5, 2019, 8:15 PM
Modified
Jun 17, 2026, 2:22 AM
Severity
Moderate
Public date
Dec 5, 2019, 12:00 AM