CVE-2019-16770 Potential DOS attack in Puma
A poorly-behaved client can monopolize Puma's reactor via keepalive requests, causing a denial of service by exhausting available threads.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2019-16770?
CVE-2019-16770 is a medium-severity denial of service vulnerability in Debian Debian Linux, published on 5 Dec 2019. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official 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.
Weakness: CWE-770
Which versions are affected by CVE-2019-16770?
4 open source packages ship an affected version, including puma. It affects 2 products.
| Package | Affected | Fixed in |
|---|---|---|
puma RubyGems | All versions | 3.12.2 |
puma RubyGems | All versions | 3.12.2 |
puma RubyGems | From 4.0.0 | 4.3.1 |
puma RubyGems | From 4.0.0 | 4.3.1 |
Products include Debian Debian Linux, Puma Puma.
How do I fix CVE-2019-16770?
Upgrade puma to a fixed version for your release line: 3.12.2 or 4.3.1.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2019-16770 being exploited?
There is no known exploitation of CVE-2019-16770 in the wild and no public exploit code.
Other vulnerabilities in Debian Debian Linux
Sources
Also known as DEBIAN-CVE-2019-16770, GHSA-7xx3-m584-x994.