CVE-2019-16770
mediumpriority · track · 31EPSS 0.020 · 81 %ileDEEUUSEPSS · scored 2026-10-27
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.
remediations
Vendor fix, mitigation, or workaround guidance, as published by each source.
A vendor fix is available.
- Fixedruby4.0-rubygem-puma-0:6.4.3-1.5.aarch64 as component of openSUSE Tumbleweedsuse_csaf
To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
- Fixedruby4.0-rubygem-puma-0:6.4.3-1.5.ppc64le as component of openSUSE Tumbleweedsuse_csaf
To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
- Fixedruby4.0-rubygem-puma-0:6.4.3-1.5.s390x as component of openSUSE Tumbleweedsuse_csaf
To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
- Fixedruby4.0-rubygem-puma-0:6.4.3-1.5.x86_64 as component of openSUSE Tumbleweedsuse_csaf
To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode⚠ sources disagree · medium–high · 5–7.5
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (6)
Products and version ranges known to be affected.
advisories (2)
Vendor and ecosystem advisories describing this.
- openSUSE-SU-2026:10357-1ruby4.0-rubygem-puma-6.4.3-1.5 on GA media2026-03-13csaf · suse_csafDE
ruby4.0-rubygem-puma-6.4.3-1.5 on GA media
- GHSA-7xx3-m584-x994A poorly-behaved client could use keepalive requests to monopolize Puma's reactor and create a denial of service attack2019-12-05ghsa · osvUS
## Keepalive thread overload/DoS ### Impact 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. ### Patches This vulnerability is patched in Puma 4.3.1 and 3.12.2. ### Workarounds 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. ### For more information If you have any questions or comments about this advisory: * Open an issue at [puma](github.com/puma/puma).
also known as (3)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (19)
External citations — patches, advisories, analysis.
- https://github.com/puma/puma/security/advisories/GHSA-7xx3-m584-x994cnnvd
- https://lists.debian.org/debian-lts-announce/2022/05/msg00034.htmlcnnvd
- https://nvd.nist.gov/vuln/detail/CVE-2019-16770cnnvd
- https://vigilance.fr/vulnerability/RubyGem-Puma-denial-of-service-via-Keepalive-Requests-33687cnnvd
- https://www.auscert.org.au/bulletins/ESB-2020.0123/cnnvd
- https://www.auscert.org.au/bulletins/ESB-2020.0399/cnnvd
- https://www.auscert.org.au/bulletins/ESB-2020.0902/cnnvd
- https://www.auscert.org.au/bulletins/ESB-2020.2571/cnnvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan