First published: Thu Dec 05 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.
Credit: security-advisories@github.com
Affected Software | Affected Version | How to fix |
---|---|---|
Puma Puma | >=3.0.0<3.12.2 | |
Puma Puma | >=4.0.0<4.3.1 | |
Debian Debian Linux | =9.0 |
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.
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
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.
CVE-2019-16770 affects versions 3.12.2 and 4.3.1 of the rubygem-puma library.
CVE-2019-16770 has a severity level of high.
To fix the CVE-2019-16770 vulnerability, update to version 3.12.2 or 4.3.1 of the rubygem-puma library.
The Common Weakness Enumeration (CWE) ID for CVE-2019-16770 is CWE-770.