CVE-2019-16770: Potential DOS attack in Puma

Published Dec 5, 2019
·
Updated

A flaw was found in rubygem-puma. 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.

Other sources

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.

Affected Software

5 affected componentsFixes available
redhat/rubygem-puma<4.3.1
4.3.1
redhat/rubygem-puma<3.12.2
3.12.2
Puma Puma Ruby>=3.0.0<3.12.2
Puma Puma Ruby>=4.0.0<4.3.1
Debian Debian Linux=9.0

Remediation

Information

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.

Event History

Dec 5, 2019
CVE Published
12:00 AM
Data Sourced
12:00 AM
RemedyDescriptionSeverityWeakness
CVE Published
via MITRE·07:35 PM
Data Sourced
via MITRE·07:35 PM
DescriptionSeverityWeakness
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is CVE-2019-16770?

CVE-2019-16770 is a vulnerability found in the rubygem-puma library, which allows a poorly-behaved client to create a denial of service attack by monopolizing Puma's reactor using keepalive requests.

2

How does CVE-2019-16770 affect the rubygem-puma library?

CVE-2019-16770 affects versions 3.12.2 and 4.3.1 of the rubygem-puma library.

3

What is the severity of CVE-2019-16770?

CVE-2019-16770 has a severity level of high.

4

How can the CVE-2019-16770 vulnerability be fixed?

To fix the CVE-2019-16770 vulnerability, update to version 3.12.2 or 4.3.1 of the rubygem-puma library.

5

What is the Common Weakness Enumeration (CWE) ID for CVE-2019-16770?

The Common Weakness Enumeration (CWE) ID for CVE-2019-16770 is CWE-770.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203