CVE-2021-29509
Keepalive Connections Causing Denial Of Service in puma
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.5
Keepalive Connections Causing Denial Of Service in puma
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.
- Record
CVE-2021-29509- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400
- Updated
- 2026-11-02
EUVDEUVD-2021-1158
7.5
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.
- Record
EUVD-2021-1158- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-q28m-8xjw-8vr5
7.5
Puma's Keepalive Connections Causing Denial Of Service
This vulnerability is related to CVE-2019-16770.
Impact
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.
Patches
This problem has been fixed in puma 4.3.8 and 5.3.1.
Workarounds
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. A git patch is available here for those using unsupported versions of Puma.
For more information
If you have any questions or comments about this advisory:
- Open an issue in Puma.
- To report problems with this fix or to report another vulnerability, see our security policy.
Acknowledgements
Thank you to @MSP-Greg, @wjordan and @evanphx for their review on this issue.
Thank you to @ioquatix for providing a modified fork of wrk which made debugging this issue much easier.
- Record
GHSA-q28m-8xjw-8vr5- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400
- Updated
- 2026-11-02
NVD
7.5
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.
- Record
CVE-2021-29509- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:N/A:P - Weakness
- CWE-400, CWE-667
- Updated
- 2026-11-02
OSV
7.5
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.
- Record
CVE-2021-29509- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2021-29509
7.5
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.
- Record
DEBIAN-CVE-2021-29509- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Show 10 moreShow less
OSVGHSA-q28m-8xjw-8vr5
7.5
Puma's Keepalive Connections Causing Denial Of Service
This vulnerability is related to CVE-2019-16770.
Impact
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.
Patches
This problem has been fixed in puma 4.3.8 and 5.3.1.
Workarounds
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. A git patch is available here for those using unsupported versions of Puma.
For more information
If you have any questions or comments about this advisory:
- Open an issue in Puma.
- To report problems with this fix or to report another vulnerability, see our security policy.
Acknowledgements
Thank you to @MSP-Greg, @wjordan and @evanphx for their review on this issue.
Thank you to @ioquatix for providing a modified fork of wrk which made debugging this issue much easier.
- Record
GHSA-q28m-8xjw-8vr5- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400
- Updated
- 2026-11-02
OSVOESA-2021-1203
7.5
rubygem-puma security update
A simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack applications.
Security Fix(es):
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.(CVE-2021-29509)
- Record
OESA-2021-1203- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVRHSA-2021:4702
9.8
Red Hat Security Advisory: Satellite 6.10 Release
- Record
RHSA-2021:4702- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2021-29509
7.5
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.
- Record
UBUNTU-CVE-2021-29509- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVopenSUSE-SU-2024:12592-1 No score
ruby3.1-rubygem-puma-5-5.6.5-1.1 on GA media
These are all security issues fixed in the ruby3.1-rubygem-puma-5-5.6.5-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:12592-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:13166-1 No score
ruby3.2-rubygem-puma-5-5.6.5-1.7 on GA media
These are all security issues fixed in the ruby3.2-rubygem-puma-5-5.6.5-1.7 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:13166-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:13721-1 No score
ruby3.3-rubygem-puma-5-5.6.8-1.1 on GA media
These are all security issues fixed in the ruby3.3-rubygem-puma-5-5.6.8-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:13721-1- Updated
- 2026-11-02
OSVSUSE-SU-2021:2761-1 No score
Security update for rubygem-puma
This update for rubygem-puma fixes the following issues:
- CVE-2021-29509: Incomplete fix for CVE-2019-16770 allows Denial of Service (bsc#1188527)
- Record
SUSE-SU-2021:2761-1- Updated
- 2026-11-02
OSVSUSE-SU-2021:2914-1 No score
Security update for rubygem-puma
This update for rubygem-puma fixes the following issues:
- CVE-2021-29509: Incomplete fix for CVE-2019-16770 allows Denial of Service (bsc#1188527)
- Record
SUSE-SU-2021:2914-1- Updated
- 2026-11-02
OSVSUSE-SU-2022:1515-1 No score
Security update for rubygem-puma
This update for rubygem-puma fixes the following issues:
rubygem-puma was updated to version 4.3.11:
- CVE-2021-29509: Adjusted an incomplete fix for allows Denial of Service (DoS) (bsc#1188527)
- CVE-2021-41136: Fixed request smuggling if HTTP header value contains the LF character (bsc#1191681)
- CVE-2022-23634: Fixed information leak between requests (bsc#1196222)
- Record
SUSE-SU-2022:1515-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
pumaRubyGems |
through 4.3.7 | 4.3.8 |
pumaRubyGems |
5.0.0 to 5.3.0 | 5.3.1 |
pumaDebian:12 |
before 4.3.8-1 | 4.3.8-1 |
pumaDebian:13 |
before 4.3.8-1 | 4.3.8-1 |
pumaDebian:14 |
before 4.3.8-1 | 4.3.8-1 |
pumaDebian:10 From an advisory covering 4 CVEs |
before 3.12.0-2+deb10u3, plus listed versions 3.12.0-23.12.0-2+deb10u13.12.0-2+deb10u2 |
3.12.0-2+deb10u3 |
pumaRubyGems |
before 4.3.8, plus listed versions 0.8.00.8.10.8.20.9.00.9.1 Show 45 moreShow less0.9.20.9.30.9.40.9.51.0.01.1.01.1.11.2.01.2.11.2.21.3.01.3.11.4.01.5.01.6.01.6.11.6.21.6.32.0.02.0.0.b12.0.0.b22.0.0.b32.0.0.b42.0.0.b52.0.0.b62.0.0.b72.0.12.1.02.1.12.10.02.10.12.10.22.11.02.11.12.11.22.11.32.12.02.12.12.12.22.12.32.13.02.13.12.13.22.13.32.13.4 |
4.3.8 |
pumaRubyGems |
5.0.0 up to 5.3.1, plus listed versions 5.0.15.0.25.0.35.0.45.1.0 Show 5 moreShow less5.1.15.2.05.2.15.2.25.3.0 |
5.3.1 |
rubygem-pumaopenEuler:20.03-LTS-SP1 |
before 3.12.6-2.oe1 | 3.12.6-2.oe1 |
python-ecdsaRed Hat:satellite_capsule:6.10::el7 From an advisory covering 21 CVEs |
before 0:0.13.3-2.el7pc | 0:0.13.3-2.el7pc |
Show 39 moreShow less
| Package | Affected | Fixed |
|---|---|---|
python3-ecdsaRed Hat:satellite_capsule:6.10::el7 From an advisory covering 21 CVEs |
before 0:0.13.3-2.el7pc | 0:0.13.3-2.el7pc |
python-ecdsaRed Hat:satellite:6.10::el7 From an advisory covering 21 CVEs |
before 0:0.13.3-2.el7pc | 0:0.13.3-2.el7pc |
python3-ecdsaRed Hat:satellite:6.10::el7 From an advisory covering 21 CVEs |
before 0:0.13.3-2.el7pc | 0:0.13.3-2.el7pc |
tfm-rubygem-activerecord-session_storeRed Hat:satellite:6.10::el7 From an advisory covering 21 CVEs |
before 0:2.0.0-1.el7sat | 0:2.0.0-1.el7sat |
satelliteRed Hat:satellite_capsule:6.10::el7 From an advisory covering 21 CVEs |
before 0:6.10.0-3.el7sat | 0:6.10.0-3.el7sat |
satelliteRed Hat:satellite:6.10::el7 From an advisory covering 21 CVEs |
before 0:6.10.0-3.el7sat | 0:6.10.0-3.el7sat |
candlepinRed Hat:satellite:6.10::el7 From an advisory covering 21 CVEs |
before 0:4.0.9-1.el7sat | 0:4.0.9-1.el7sat |
python-pyyamlRed Hat:satellite_capsule:6.10::el7 From an advisory covering 21 CVEs |
before 0:5.4.1-1.el7pc | 0:5.4.1-1.el7pc |
python3-pyyamlRed Hat:satellite_capsule:6.10::el7 From an advisory covering 21 CVEs |
before 0:5.4.1-1.el7pc | 0:5.4.1-1.el7pc |
python-pyyamlRed Hat:satellite:6.10::el7 From an advisory covering 21 CVEs |
before 0:5.4.1-1.el7pc | 0:5.4.1-1.el7pc |
python3-pyyamlRed Hat:satellite:6.10::el7 From an advisory covering 21 CVEs |
before 0:5.4.1-1.el7pc | 0:5.4.1-1.el7pc |
tfm-rubygem-nokogiriRed Hat:satellite_capsule:6.10::el7 From an advisory covering 21 CVEs |
before 0:1.11.3-2.el7sat | 0:1.11.3-2.el7sat |
tfm-rubygem-nokogiriRed Hat:satellite:6.10::el7 From an advisory covering 21 CVEs |
before 0:1.11.3-2.el7sat | 0:1.11.3-2.el7sat |
satellite-capsuleRed Hat:satellite_capsule:6.10::el7 From an advisory covering 21 CVEs |
before 0:6.10.0-3.el7sat | 0:6.10.0-3.el7sat |
foremanRed Hat:satellite_capsule:6.10::el7 From an advisory covering 21 CVEs |
before 0:2.5.2.17-2.el7sat | 0:2.5.2.17-2.el7sat |
foremanRed Hat:satellite:6.10::el7 From an advisory covering 21 CVEs |
before 0:2.5.2.17-2.el7sat | 0:2.5.2.17-2.el7sat |
python-aiohttpRed Hat:satellite_capsule:6.10::el7 From an advisory covering 21 CVEs |
before 0:3.7.4-1.el7pc | 0:3.7.4-1.el7pc |
python-aiohttpRed Hat:satellite:6.10::el7 From an advisory covering 21 CVEs |
before 0:3.7.4-1.el7pc | 0:3.7.4-1.el7pc |
tfm-rubygem-actionpackRed Hat:satellite:6.10::el7 From an advisory covering 21 CVEs |
before 0:6.0.3.7-1.el7sat | 0:6.0.3.7-1.el7sat |
tfm-rubygem-railsRed Hat:satellite:6.10::el7 From an advisory covering 21 CVEs |
before 0:6.0.3.7-1.el7sat | 0:6.0.3.7-1.el7sat |
python3-djangoRed Hat:satellite_capsule:6.10::el7 From an advisory covering 21 CVEs |
before 0:2.2.24-1.el7pc | 0:2.2.24-1.el7pc |
python3-djangoRed Hat:satellite:6.10::el7 From an advisory covering 21 CVEs |
before 0:2.2.24-1.el7pc | 0:2.2.24-1.el7pc |
tfm-rubygem-pumaRed Hat:satellite:6.10::el7 From an advisory covering 21 CVEs |
before 0:5.3.2-1.el7sat | 0:5.3.2-1.el7sat |
tfm-rubygem-addressableRed Hat:satellite:6.10::el7 From an advisory covering 21 CVEs |
before 0:2.8.0-1.el7sat | 0:2.8.0-1.el7sat |
python-urllib3Red Hat:satellite_capsule:6.10::el7 From an advisory covering 21 CVEs |
before 0:1.26.5-1.el7pc | 0:1.26.5-1.el7pc |
python3-urllib3Red Hat:satellite_capsule:6.10::el7 From an advisory covering 21 CVEs |
before 0:1.26.5-1.el7pc | 0:1.26.5-1.el7pc |
python-urllib3Red Hat:satellite:6.10::el7 From an advisory covering 21 CVEs |
before 0:1.26.5-1.el7pc | 0:1.26.5-1.el7pc |
python3-urllib3Red Hat:satellite:6.10::el7 From an advisory covering 21 CVEs |
before 0:1.26.5-1.el7pc | 0:1.26.5-1.el7pc |
rubygem-pumaSUSE:OpenStack Cloud Crowbar 8 |
before 2.16.0-3.12.1 | 2.16.0-3.12.1 |
rubygem-pumaSUSE:OpenStack Cloud Crowbar 9 |
before 2.16.0-4.12.1 | 2.16.0-4.12.1 |
rubygem-pumaSUSE:Linux Enterprise High Availability Extension 15 From an advisory covering 3 CVEs |
before 4.3.11-150000.3.6.2 | 4.3.11-150000.3.6.2 |
rubygem-pumaSUSE:Linux Enterprise High Availability Extension 15 SP1 From an advisory covering 3 CVEs |
before 4.3.11-150000.3.6.2 | 4.3.11-150000.3.6.2 |
rubygem-pumaSUSE:Linux Enterprise High Availability Extension 15 SP2 From an advisory covering 3 CVEs |
before 4.3.11-150000.3.6.2 | 4.3.11-150000.3.6.2 |
rubygem-pumaSUSE:Linux Enterprise High Availability Extension 15 SP3 From an advisory covering 3 CVEs |
before 4.3.11-150000.3.6.2 | 4.3.11-150000.3.6.2 |
rubygem-pumaopenSUSE:Leap 15.3 From an advisory covering 3 CVEs |
before 4.3.11-150000.3.6.2 | 4.3.11-150000.3.6.2 |
rubygem-pumaopenSUSE:Leap 15.4 From an advisory covering 3 CVEs |
before 4.3.11-150000.3.6.2 | 4.3.11-150000.3.6.2 |
rubygem-puma-5openSUSE:Tumbleweed From an advisory covering 5 CVEs |
before 5.6.5-1.1 | 5.6.5-1.1 |
ruby3.2-rubygem-puma-5openSUSE:Tumbleweed From an advisory covering 5 CVEs |
before 5.6.5-1.7 | 5.6.5-1.7 |
rubygem-puma-5openSUSE:Tumbleweed From an advisory covering 5 CVEs |
before 5.6.8-1.1 | 5.6.8-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| affected | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2021-29509 is a high vulnerability (CVSS 7.5) in Puma, published May 11, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.60%, the 75th percentile. Fixed in puma 4.3.8.
References
github.com/puma/puma/security/advisories/GHSA-q28m-8xjw-8vr5
gist.github.com/nateberkopec/4b3ea5676c0d70cbb37c82d54be25837
github.com/puma/puma/security/policy
rubygems.org/gems/puma
security.gentoo.org/glsa/202208-28
lists.debian.org/debian-lts-announce/2022/08/msg00015.html
Show 194 moreShow less
nvd.nist.gov/vuln/detail/CVE-2021-29509
github.com/rubysec/ruby-advisory-db/blob/master/gems/puma/CVE-2021-29509.yml
github.com/advisories/GHSA-q28m-8xjw-8vr5
security-tracker.debian.org/tracker/CVE-2021-29509
github.com/puma/puma
openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2021-1203
access.redhat.com/errata/RHSA-2021:4702
access.redhat.com/security/updates/classification
bugzilla.redhat.com/show_bug.cgi?id=1299602
bugzilla.redhat.com/show_bug.cgi?id=1334989
bugzilla.redhat.com/show_bug.cgi?id=1392063
bugzilla.redhat.com/show_bug.cgi?id=1417752
bugzilla.redhat.com/show_bug.cgi?id=1437586
bugzilla.redhat.com/show_bug.cgi?id=1548966
bugzilla.redhat.com/show_bug.cgi?id=1566630
bugzilla.redhat.com/show_bug.cgi?id=1573241
bugzilla.redhat.com/show_bug.cgi?id=1583209
bugzilla.redhat.com/show_bug.cgi?id=1605147
bugzilla.redhat.com/show_bug.cgi?id=1611621
bugzilla.redhat.com/show_bug.cgi?id=1615015
bugzilla.redhat.com/show_bug.cgi?id=1632961
bugzilla.redhat.com/show_bug.cgi?id=1636403
bugzilla.redhat.com/show_bug.cgi?id=1636426
bugzilla.redhat.com/show_bug.cgi?id=1649011
bugzilla.redhat.com/show_bug.cgi?id=1654801
bugzilla.redhat.com/show_bug.cgi?id=1655245
bugzilla.redhat.com/show_bug.cgi?id=1656127
bugzilla.redhat.com/show_bug.cgi?id=1663340
bugzilla.redhat.com/show_bug.cgi?id=1664120
bugzilla.redhat.com/show_bug.cgi?id=1668374
bugzilla.redhat.com/show_bug.cgi?id=1685738
bugzilla.redhat.com/show_bug.cgi?id=1691490
bugzilla.redhat.com/show_bug.cgi?id=1701541
bugzilla.redhat.com/show_bug.cgi?id=1703951
bugzilla.redhat.com/show_bug.cgi?id=1716314
bugzilla.redhat.com/show_bug.cgi?id=1719661
bugzilla.redhat.com/show_bug.cgi?id=1720664
bugzilla.redhat.com/show_bug.cgi?id=1721320
bugzilla.redhat.com/show_bug.cgi?id=1729029
bugzilla.redhat.com/show_bug.cgi?id=1729843
bugzilla.redhat.com/show_bug.cgi?id=1731987
bugzilla.redhat.com/show_bug.cgi?id=1732038
bugzilla.redhat.com/show_bug.cgi?id=1732505
bugzilla.redhat.com/show_bug.cgi?id=1732522
bugzilla.redhat.com/show_bug.cgi?id=1737536
bugzilla.redhat.com/show_bug.cgi?id=1744931
bugzilla.redhat.com/show_bug.cgi?id=1747748
bugzilla.redhat.com/show_bug.cgi?id=1747751
bugzilla.redhat.com/show_bug.cgi?id=1758704
bugzilla.redhat.com/show_bug.cgi?id=1759111
bugzilla.redhat.com/show_bug.cgi?id=1760843
bugzilla.redhat.com/show_bug.cgi?id=1767455
bugzilla.redhat.com/show_bug.cgi?id=1771231
bugzilla.redhat.com/show_bug.cgi?id=1775784
bugzilla.redhat.com/show_bug.cgi?id=1777420
bugzilla.redhat.com/show_bug.cgi?id=1784552
bugzilla.redhat.com/show_bug.cgi?id=1794753
bugzilla.redhat.com/show_bug.cgi?id=1796770
bugzilla.redhat.com/show_bug.cgi?id=1798686
bugzilla.redhat.com/show_bug.cgi?id=1804161
bugzilla.redhat.com/show_bug.cgi?id=1804620
bugzilla.redhat.com/show_bug.cgi?id=1805654
bugzilla.redhat.com/show_bug.cgi?id=1806459
bugzilla.redhat.com/show_bug.cgi?id=1806461
bugzilla.redhat.com/show_bug.cgi?id=1806462
bugzilla.redhat.com/show_bug.cgi?id=1807677
bugzilla.redhat.com/show_bug.cgi?id=1808368
bugzilla.redhat.com/show_bug.cgi?id=1810600
bugzilla.redhat.com/show_bug.cgi?id=1814226
bugzilla.redhat.com/show_bug.cgi?id=1816270
bugzilla.redhat.com/show_bug.cgi?id=1817176
bugzilla.redhat.com/show_bug.cgi?id=1829107
bugzilla.redhat.com/show_bug.cgi?id=1829115
bugzilla.redhat.com/show_bug.cgi?id=1829239
bugzilla.redhat.com/show_bug.cgi?id=1830026
bugzilla.redhat.com/show_bug.cgi?id=1830247
bugzilla.redhat.com/show_bug.cgi?id=1836868
bugzilla.redhat.com/show_bug.cgi?id=1837556
bugzilla.redhat.com/show_bug.cgi?id=1838800
bugzilla.redhat.com/show_bug.cgi?id=1844972
bugzilla.redhat.com/show_bug.cgi?id=1845498
bugzilla.redhat.com/show_bug.cgi?id=1845657
bugzilla.redhat.com/show_bug.cgi?id=1848111
bugzilla.redhat.com/show_bug.cgi?id=1848981
bugzilla.redhat.com/show_bug.cgi?id=1851415
bugzilla.redhat.com/show_bug.cgi?id=1853710
bugzilla.redhat.com/show_bug.cgi?id=1856730
bugzilla.redhat.com/show_bug.cgi?id=1860466
bugzilla.redhat.com/show_bug.cgi?id=1861493
bugzilla.redhat.com/show_bug.cgi?id=1862372
bugzilla.redhat.com/show_bug.cgi?id=1863597
bugzilla.redhat.com/show_bug.cgi?id=1868310
bugzilla.redhat.com/show_bug.cgi?id=1868357
bugzilla.redhat.com/show_bug.cgi?id=1872534
bugzilla.redhat.com/show_bug.cgi?id=1874587
bugzilla.redhat.com/show_bug.cgi?id=1879020
bugzilla.redhat.com/show_bug.cgi?id=1882123
bugzilla.redhat.com/show_bug.cgi?id=1883503
bugzilla.redhat.com/show_bug.cgi?id=1884212
bugzilla.redhat.com/show_bug.cgi?id=1885240
bugzilla.redhat.com/show_bug.cgi?id=1888332
bugzilla.redhat.com/show_bug.cgi?id=1893617
bugzilla.redhat.com/show_bug.cgi?id=1899873
security.access.redhat.com/data/csaf/v2/advisories/2021/rhsa-2021_4702.json
access.redhat.com/security/cve/CVE-2019-14853
cve.org/CVERecord?id=CVE-2019-14853
nvd.nist.gov/vuln/detail/CVE-2019-14853
github.com/advisories/GHSA-pwfw-mgfj-7g3g
access.redhat.com/security/cve/CVE-2019-14859
cve.org/CVERecord?id=CVE-2019-14859
nvd.nist.gov/vuln/detail/CVE-2019-14859
github.com/warner/python-ecdsa/releases/tag/python-ecdsa-0.13.3
pypi.org/project/ecdsa/0.13.3
access.redhat.com/security/cve/CVE-2019-25025
cve.org/CVERecord?id=CVE-2019-25025
nvd.nist.gov/vuln/detail/CVE-2019-25025
github.com/advisories/GHSA-cvw2-xj8r-mjf7
access.redhat.com/security/cve/CVE-2020-8130
cve.org/CVERecord?id=CVE-2020-8130
nvd.nist.gov/vuln/detail/CVE-2020-8130
github.com/advisories/GHSA-jppv-gw3r-w3q8
access.redhat.com/security/cve/CVE-2020-8908
cve.org/CVERecord?id=CVE-2020-8908
nvd.nist.gov/vuln/detail/CVE-2020-8908
access.redhat.com/security/cve/CVE-2020-14343
cve.org/CVERecord?id=CVE-2020-14343
nvd.nist.gov/vuln/detail/CVE-2020-14343
github.com/advisories/GHSA-8q59-q68h-6hv4
access.redhat.com/security/cve/CVE-2020-26247
cve.org/CVERecord?id=CVE-2020-26247
nvd.nist.gov/vuln/detail/CVE-2020-26247
github.com/advisories/GHSA-vr8q-g5c7-m54m
access.redhat.com/security/cve/CVE-2021-3413
cve.org/CVERecord?id=CVE-2021-3413
nvd.nist.gov/vuln/detail/CVE-2021-3413
access.redhat.com/security/cve/CVE-2021-3494
cve.org/CVERecord?id=CVE-2021-3494
nvd.nist.gov/vuln/detail/CVE-2021-3494
access.redhat.com/security/cve/CVE-2021-20256
cve.org/CVERecord?id=CVE-2021-20256
nvd.nist.gov/vuln/detail/CVE-2021-20256
access.redhat.com/security/cve/CVE-2021-21330
cve.org/CVERecord?id=CVE-2021-21330
nvd.nist.gov/vuln/detail/CVE-2021-21330
github.com/aio-libs/aiohttp/security/advisories/GHSA-v6wp-4m6f-gcjg
access.redhat.com/security/cve/CVE-2021-22885
cve.org/CVERecord?id=CVE-2021-22885
nvd.nist.gov/vuln/detail/CVE-2021-22885
access.redhat.com/security/cve/CVE-2021-22902
cve.org/CVERecord?id=CVE-2021-22902
nvd.nist.gov/vuln/detail/CVE-2021-22902
discuss.rubyonrails.org/t/cve-2021-22902-possible-denial-of-service-vulnerability-in-action-dispatch/77866
access.redhat.com/security/cve/CVE-2021-22904
cve.org/CVERecord?id=CVE-2021-22904
nvd.nist.gov/vuln/detail/CVE-2021-22904
github.com/advisories/GHSA-7wjx-3g7j-8584
access.redhat.com/security/cve/CVE-2021-28658
cve.org/CVERecord?id=CVE-2021-28658
nvd.nist.gov/vuln/detail/CVE-2021-28658
djangoproject.com/weblog/2021/apr/06/security-releases
access.redhat.com/security/cve/CVE-2021-29509
cve.org/CVERecord?id=CVE-2021-29509
access.redhat.com/security/cve/CVE-2021-31542
cve.org/CVERecord?id=CVE-2021-31542
nvd.nist.gov/vuln/detail/CVE-2021-31542
djangoproject.com/weblog/2021/may/04/security-releases
access.redhat.com/security/cve/CVE-2021-32740
cve.org/CVERecord?id=CVE-2021-32740
nvd.nist.gov/vuln/detail/CVE-2021-32740
github.com/sporkmonger/addressable/security/advisories/GHSA-jxhc-q857-3j6g
access.redhat.com/security/cve/CVE-2021-33203
cve.org/CVERecord?id=CVE-2021-33203
nvd.nist.gov/vuln/detail/CVE-2021-33203
djangoproject.com/weblog/2021/jun/02/security-releases
access.redhat.com/security/cve/CVE-2021-33503
cve.org/CVERecord?id=CVE-2021-33503
nvd.nist.gov/vuln/detail/CVE-2021-33503
github.com/advisories/GHSA-q2q7-5pp4-w6pg
access.redhat.com/security/cve/CVE-2021-33571
cve.org/CVERecord?id=CVE-2021-33571
nvd.nist.gov/vuln/detail/CVE-2021-33571
suse.com/support/update/announcement/2021/suse-su-20212761-1
bugzilla.suse.com/1188527
suse.com/security/cve/CVE-2021-29509
suse.com/support/update/announcement/2021/suse-su-20212914-1
suse.com/support/update/announcement/2022/suse-su-20221515-1
bugzilla.suse.com/1191681
bugzilla.suse.com/1196222
suse.com/security/cve/CVE-2021-41136
suse.com/security/cve/CVE-2022-23634
ubuntu.com/security/CVE-2021-29509
suse.com/security/cve/CVE-2019-16770
suse.com/security/cve/CVE-2020-11076
suse.com/security/cve/CVE-2022-24790
Left out here: 72 versions and 414 references. The JSON record has them.