Show plain JSON{"containers": {"cna": {"affected": [{"product": "puma", "vendor": "puma", "versions": [{"status": "affected", "version": "< 4.3.8"}, {"status": "affected", "version": ">= 5.0.0, < 5.3.1"}]}], "descriptions": [{"lang": "en", "value": "Puma is a concurrent HTTP 1.1 server for Ruby/Rack applications. The fix for CVE-2019-16770 was incomplete. The original fix only protected existing connections that had already been accepted from having their requests starved by greedy persistent-connections saturating all threads in the same process. However, new connections may still be starved by greedy persistent-connections saturating all threads in all processes in the cluster. A `puma` server which received more concurrent `keep-alive` connections than the server had threads in its threadpool would service only a subset of connections, denying service to the unserved connections. This problem has been fixed in `puma` 4.3.8 and 5.3.1. Setting `queue_requests false` also fixes the issue. This is not advised when using `puma` without a reverse proxy, such as `nginx` or `apache`, because you will open yourself to slow client attacks (e.g. slowloris). The fix is very small and a git patch is available for those using unsupported versions of Puma."}], "metrics": [{"cvssV3_1": {"attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "baseScore": 7.5, "baseSeverity": "HIGH", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "version": "3.1"}}], "problemTypes": [{"descriptions": [{"cweId": "CWE-400", "description": "{\"CWE-400\":\"Uncontrolled Resource Consumption\"}", "lang": "en", "type": "CWE"}]}], "providerMetadata": {"dateUpdated": "2022-08-27T20:06:19", "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "shortName": "GitHub_M"}, "references": [{"tags": ["x_refsource_CONFIRM"], "url": "https://github.com/puma/puma/security/advisories/GHSA-q28m-8xjw-8vr5"}, {"tags": ["x_refsource_MISC"], "url": "https://gist.github.com/nateberkopec/4b3ea5676c0d70cbb37c82d54be25837"}, {"tags": ["x_refsource_MISC"], "url": "https://github.com/puma/puma/security/policy"}, {"tags": ["x_refsource_MISC"], "url": "https://rubygems.org/gems/puma"}, {"name": "GLSA-202208-28", "tags": ["vendor-advisory", "x_refsource_GENTOO"], "url": "https://security.gentoo.org/glsa/202208-28"}, {"name": "[debian-lts-announce] 20220827 [SECURITY] [DLA 3083-1] puma security update", "tags": ["mailing-list", "x_refsource_MLIST"], "url": "https://lists.debian.org/debian-lts-announce/2022/08/msg00015.html"}], "source": {"advisory": "GHSA-q28m-8xjw-8vr5", "discovery": "UNKNOWN"}, "title": "Keepalive Connections Causing Denial Of Service in puma", "x_legacyV4Record": {"CVE_data_meta": {"ASSIGNER": "security-advisories@github.com", "ID": "CVE-2021-29509", "STATE": "PUBLIC", "TITLE": "Keepalive Connections Causing Denial Of Service in puma"}, "affects": {"vendor": {"vendor_data": [{"product": {"product_data": [{"product_name": "puma", "version": {"version_data": [{"version_value": "< 4.3.8"}, {"version_value": ">= 5.0.0, < 5.3.1"}]}}]}, "vendor_name": "puma"}]}}, "data_format": "MITRE", "data_type": "CVE", "data_version": "4.0", "description": {"description_data": [{"lang": "eng", "value": "Puma is a concurrent HTTP 1.1 server for Ruby/Rack applications. The fix for CVE-2019-16770 was incomplete. The original fix only protected existing connections that had already been accepted from having their requests starved by greedy persistent-connections saturating all threads in the same process. However, new connections may still be starved by greedy persistent-connections saturating all threads in all processes in the cluster. A `puma` server which received more concurrent `keep-alive` connections than the server had threads in its threadpool would service only a subset of connections, denying service to the unserved connections. This problem has been fixed in `puma` 4.3.8 and 5.3.1. Setting `queue_requests false` also fixes the issue. This is not advised when using `puma` without a reverse proxy, such as `nginx` or `apache`, because you will open yourself to slow client attacks (e.g. slowloris). The fix is very small and a git patch is available for those using unsupported versions of Puma."}]}, "impact": {"cvss": {"attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "baseScore": 7.5, "baseSeverity": "HIGH", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "version": "3.1"}}, "problemtype": {"problemtype_data": [{"description": [{"lang": "eng", "value": "{\"CWE-400\":\"Uncontrolled Resource Consumption\"}"}]}]}, "references": {"reference_data": [{"name": "https://github.com/puma/puma/security/advisories/GHSA-q28m-8xjw-8vr5", "refsource": "CONFIRM", "url": "https://github.com/puma/puma/security/advisories/GHSA-q28m-8xjw-8vr5"}, {"name": "https://gist.github.com/nateberkopec/4b3ea5676c0d70cbb37c82d54be25837", "refsource": "MISC", "url": "https://gist.github.com/nateberkopec/4b3ea5676c0d70cbb37c82d54be25837"}, {"name": "https://github.com/puma/puma/security/policy", "refsource": "MISC", "url": "https://github.com/puma/puma/security/policy"}, {"name": "https://rubygems.org/gems/puma", "refsource": "MISC", "url": "https://rubygems.org/gems/puma"}, {"name": "GLSA-202208-28", "refsource": "GENTOO", "url": "https://security.gentoo.org/glsa/202208-28"}, {"name": "[debian-lts-announce] 20220827 [SECURITY] [DLA 3083-1] puma security update", "refsource": "MLIST", "url": "https://lists.debian.org/debian-lts-announce/2022/08/msg00015.html"}]}, "source": {"advisory": "GHSA-q28m-8xjw-8vr5", "discovery": "UNKNOWN"}}}, "adp": [{"providerMetadata": {"orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE", "dateUpdated": "2024-08-03T22:11:05.438Z"}, "title": "CVE Program Container", "references": [{"tags": ["x_refsource_CONFIRM", "x_transferred"], "url": "https://github.com/puma/puma/security/advisories/GHSA-q28m-8xjw-8vr5"}, {"tags": ["x_refsource_MISC", "x_transferred"], "url": "https://gist.github.com/nateberkopec/4b3ea5676c0d70cbb37c82d54be25837"}, {"tags": ["x_refsource_MISC", "x_transferred"], "url": "https://github.com/puma/puma/security/policy"}, {"tags": ["x_refsource_MISC", "x_transferred"], "url": "https://rubygems.org/gems/puma"}, {"name": "GLSA-202208-28", "tags": ["vendor-advisory", "x_refsource_GENTOO", "x_transferred"], "url": "https://security.gentoo.org/glsa/202208-28"}, {"name": "[debian-lts-announce] 20220827 [SECURITY] [DLA 3083-1] puma security update", "tags": ["mailing-list", "x_refsource_MLIST", "x_transferred"], "url": "https://lists.debian.org/debian-lts-announce/2022/08/msg00015.html"}]}]}, "cveMetadata": {"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "assignerShortName": "GitHub_M", "cveId": "CVE-2021-29509", "datePublished": "2021-05-11T16:50:11", "dateReserved": "2021-03-30T00:00:00", "dateUpdated": "2024-08-03T22:11:05.438Z", "state": "PUBLISHED"}, "dataType": "CVE_RECORD", "dataVersion": "5.1"}