CVE-2024-21647
HTTP Request/Response Smuggling in puma
Puma is a web server for Ruby/Rack applications built for parallelism. Prior to version 6.4.2, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies in a way that allowed HTTP request smuggling. Fixed versions limits the size of chunk extensions. Without this limit, an attacker could cause unbounded resource (CPU, network bandwidth) consumption. This vulnerability has been fixed in versions 6.4.2 and 5.6.8.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- 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
5.9
HTTP Request/Response Smuggling in puma
Puma is a web server for Ruby/Rack applications built for parallelism. Prior to version 6.4.2, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies in a way that allowed HTTP request smuggling. Fixed versions limits the size of chunk extensions. Without this limit, an attacker could cause unbounded resource (CPU, network bandwidth) consumption. This vulnerability has been fixed in versions 6.4.2 and 5.6.8.
- Record
CVE-2024-21647- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-444
- Updated
- 2026-11-02
EUVDEUVD-2024-0323
5.9
Puma is a web server for Ruby/Rack applications built for parallelism. Prior to version 6.4.2, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies in a way that allowed HTTP request smuggling. Fixed versions limits the size of chunk extensions. Without this limit, an attacker could cause unbounded resource (CPU, network bandwidth) consumption. This vulnerability has been fixed in versions 6.4.2 and 5.6.8.
- Record
EUVD-2024-0323- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-c2f4-cvqm-65w2
5.9
Puma HTTP Request/Response Smuggling vulnerability
Impact
Prior to versions 6.4.2 and 5.6.8, puma exhibited dangerous behavior when parsing chunked transfer encoding bodies.
Fixed versions limit the size of chunk extensions. Without this limit, an attacker could cause unbounded resource (CPU, network bandwidth) consumption.
Patches
The vulnerability has been fixed in 6.4.2 and 5.6.8.
Workarounds
No known workarounds.
References
- HTTP Request Smuggling
- Open an issue in Puma
- See our security policy
- Record
GHSA-c2f4-cvqm-65w2- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-444
- Updated
- 2026-11-02
NVD
5.9
Puma is a web server for Ruby/Rack applications built for parallelism. Prior to version 6.4.2, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies in a way that allowed HTTP request smuggling. Fixed versions limits the size of chunk extensions. Without this limit, an attacker could cause unbounded resource (CPU, network bandwidth) consumption. This vulnerability has been fixed in versions 6.4.2 and 5.6.8.
- Record
CVE-2024-21647- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H - 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-444
- Updated
- 2026-11-02
OSV
5.9
HTTP Request/Response Smuggling in puma
Puma is a web server for Ruby/Rack applications built for parallelism. Prior to version 6.4.2, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies in a way that allowed HTTP request smuggling. Fixed versions limits the size of chunk extensions. Without this limit, an attacker could cause unbounded resource (CPU, network bandwidth) consumption. This vulnerability has been fixed in versions 6.4.2 and 5.6.8.
- Record
CVE-2024-21647- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-444
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2024-21647
7.5
Puma is a web server for Ruby/Rack applications built for parallelism. Prior to version 6.4.2, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies in a way that allowed HTTP request smuggling. Fixed versions limits the size of chunk extensions. Without this limit, an attacker could cause unbounded resource (CPU, network bandwidth) consumption. This vulnerability has been fixed in versions 6.4.2 and 5.6.8.
- Record
DEBIAN-CVE-2024-21647- 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-c2f4-cvqm-65w2
5.9
Puma HTTP Request/Response Smuggling vulnerability
Impact
Prior to versions 6.4.2 and 5.6.8, puma exhibited dangerous behavior when parsing chunked transfer encoding bodies.
Fixed versions limit the size of chunk extensions. Without this limit, an attacker could cause unbounded resource (CPU, network bandwidth) consumption.
Patches
The vulnerability has been fixed in 6.4.2 and 5.6.8.
Workarounds
No known workarounds.
References
- HTTP Request Smuggling
- Open an issue in Puma
- See our security policy
- Record
GHSA-c2f4-cvqm-65w2- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-444
- Updated
- 2026-11-02
OSVOESA-2024-2250
9.8
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 simple, fast, multi-threaded, parallel HTTP 1.1 server for Ruby/Rack applications. When using Puma behind a proxy that does not properly validate that the incoming HTTP request matches the RFC7230 standard, Puma and the frontend proxy may disagree on where a request starts and ends. This would allow requests to be smuggled via the front-end proxy to Puma. The vulnerability has been fixed in 5.6.4 and 4.3.12. Users are advised to upgrade as soon as possible. Workaround: when deploying a proxy in front of Puma, turning on any and all functionality to make sure that the request matches the RFC7230 standard.(CVE-2022-24790)
Puma is a Ruby/Rack web server built for parallelism. Prior to versions 6.3.1 and 5.6.7, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies and zero-length Content-Length headers in a way that allowed HTTP request smuggling. Severity of this issue is highly dependent on the nature of the web site using puma is. This could be caused by either incorrect parsing of trailing fields in chunked transfer encoding bodies or by parsing of blank/zero-length Content-Length headers. Both issues have been addressed and this vulnerability has been fixed in versions 6.3.1 and 5.6.7. Users are advised to upgrade. There are no known workarounds for this vulnerability.(CVE-2023-40175)
Puma is a web server for Ruby/Rack applications built for parallelism. Prior to version 6.4.2, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies in a way that allowed HTTP request smuggling. Fixed versions limits the size of chunk extensions. Without this limit, an attacker could cause unbounded resource (CPU, network bandwidth) consumption. This vulnerability has been fixed in versions 6.4.2 and 5.6.8.
(CVE-2024-21647)
Puma is a Ruby/Rack web server built for parallelism. In affected versions clients could clobber values set by intermediate proxies (such as X-Forwarded-For) by providing a underscore version of the same header (X-Forwarded_For). Any users relying on proxy set variables is affected. v6.4.3/v5.6.9 now discards any headers using underscores if the non-underscore version also exists. Effectively, allowing the proxy defined headers to always win. Users are advised to upgrade. Nginx has a underscores_in_headers configuration variable to discard these headers at the proxy level as a mitigation. Any users that are implicitly trusting the proxy defined headers for security should immediately cease doing so until upgraded to the fixed versions.(CVE-2024-45614)
- Record
OESA-2024-2250- 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
OSVOESA-2024-2252
9.8
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 simple, fast, multi-threaded, parallel HTTP 1.1 server for Ruby/Rack applications. When using Puma behind a proxy that does not properly validate that the incoming HTTP request matches the RFC7230 standard, Puma and the frontend proxy may disagree on where a request starts and ends. This would allow requests to be smuggled via the front-end proxy to Puma. The vulnerability has been fixed in 5.6.4 and 4.3.12. Users are advised to upgrade as soon as possible. Workaround: when deploying a proxy in front of Puma, turning on any and all functionality to make sure that the request matches the RFC7230 standard.(CVE-2022-24790)
Puma is a Ruby/Rack web server built for parallelism. Prior to versions 6.3.1 and 5.6.7, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies and zero-length Content-Length headers in a way that allowed HTTP request smuggling. Severity of this issue is highly dependent on the nature of the web site using puma is. This could be caused by either incorrect parsing of trailing fields in chunked transfer encoding bodies or by parsing of blank/zero-length Content-Length headers. Both issues have been addressed and this vulnerability has been fixed in versions 6.3.1 and 5.6.7. Users are advised to upgrade. There are no known workarounds for this vulnerability.(CVE-2023-40175)
Puma is a web server for Ruby/Rack applications built for parallelism. Prior to version 6.4.2, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies in a way that allowed HTTP request smuggling. Fixed versions limits the size of chunk extensions. Without this limit, an attacker could cause unbounded resource (CPU, network bandwidth) consumption. This vulnerability has been fixed in versions 6.4.2 and 5.6.8.
(CVE-2024-21647)
Puma is a Ruby/Rack web server built for parallelism. In affected versions clients could clobber values set by intermediate proxies (such as X-Forwarded-For) by providing a underscore version of the same header (X-Forwarded_For). Any users relying on proxy set variables is affected. v6.4.3/v5.6.9 now discards any headers using underscores if the non-underscore version also exists. Effectively, allowing the proxy defined headers to always win. Users are advised to upgrade. Nginx has a underscores_in_headers configuration variable to discard these headers at the proxy level as a mitigation. Any users that are implicitly trusting the proxy defined headers for security should immediately cease doing so until upgraded to the fixed versions.(CVE-2024-45614)
- Record
OESA-2024-2252- 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
OSVOESA-2024-2259
9.8
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 simple, fast, multi-threaded, parallel HTTP 1.1 server for Ruby/Rack applications. When using Puma behind a proxy that does not properly validate that the incoming HTTP request matches the RFC7230 standard, Puma and the frontend proxy may disagree on where a request starts and ends. This would allow requests to be smuggled via the front-end proxy to Puma. The vulnerability has been fixed in 5.6.4 and 4.3.12. Users are advised to upgrade as soon as possible. Workaround: when deploying a proxy in front of Puma, turning on any and all functionality to make sure that the request matches the RFC7230 standard.(CVE-2022-24790)
Puma is a Ruby/Rack web server built for parallelism. Prior to versions 6.3.1 and 5.6.7, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies and zero-length Content-Length headers in a way that allowed HTTP request smuggling. Severity of this issue is highly dependent on the nature of the web site using puma is. This could be caused by either incorrect parsing of trailing fields in chunked transfer encoding bodies or by parsing of blank/zero-length Content-Length headers. Both issues have been addressed and this vulnerability has been fixed in versions 6.3.1 and 5.6.7. Users are advised to upgrade. There are no known workarounds for this vulnerability.(CVE-2023-40175)
Puma is a web server for Ruby/Rack applications built for parallelism. Prior to version 6.4.2, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies in a way that allowed HTTP request smuggling. Fixed versions limits the size of chunk extensions. Without this limit, an attacker could cause unbounded resource (CPU, network bandwidth) consumption. This vulnerability has been fixed in versions 6.4.2 and 5.6.8.
(CVE-2024-21647)
Puma is a Ruby/Rack web server built for parallelism. In affected versions clients could clobber values set by intermediate proxies (such as X-Forwarded-For) by providing a underscore version of the same header (X-Forwarded_For). Any users relying on proxy set variables is affected. v6.4.3/v5.6.9 now discards any headers using underscores if the non-underscore version also exists. Effectively, allowing the proxy defined headers to always win. Users are advised to upgrade. Nginx has a underscores_in_headers configuration variable to discard these headers at the proxy level as a mitigation. Any users that are implicitly trusting the proxy defined headers for security should immediately cease doing so until upgraded to the fixed versions.(CVE-2024-45614)
- Record
OESA-2024-2259- 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
OSVRHSA-2024:2010
7.6
Red Hat Security Advisory: Satellite 6.15.0 release
- Record
RHSA-2024:2010- CVSS 3.1
- 7.6 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L - Updated
- 2026-11-02
OSVUBUNTU-CVE-2024-21647
5.9
Puma is a web server for Ruby/Rack applications built for parallelism. Prior to version 6.4.2, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies in a way that allowed HTTP request smuggling. Fixed versions limits the size of chunk extensions. Without this limit, an attacker could cause unbounded resource (CPU, network bandwidth) consumption. This vulnerability has been fixed in versions 6.4.2 and 5.6.8.
- Record
UBUNTU-CVE-2024-21647- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H - 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
OSVSUSE-SU-2024:3644-1 No score
Security update for rubygem-puma
This update for rubygem-puma fixes the following issues:
- CVE-2024-45614: Prevent underscores from clobbering hyphen headers (bsc#1230848).
- CVE-2024-21647: Fixed DoS when parsing chunked Transfer-Encoding bodies (bsc#1218638).
- Record
SUSE-SU-2024:3644-1- Updated
- 2026-11-02
OSVSUSE-SU-2025:03466-1 No score
Security update for rubygem-puma
This update for rubygem-puma fixes the following issues:
Update to version 5.6.9.
- CVE-2024-45614: improper header normalization allows for clients to clobber proxy set headers, which can lead to information leaks (bsc#1230848, fixed in an earlier update).
- CVE-2024-21647: unbounded resource consumption due to invalid parsing of chunked encoding in HTTP/1.1 can lead to denial-of-service attacks (bsc#1218638, fixed in an earlier update)
- CVE-2023-40175: incorrect behavior when parsing chunked transfer encoding bodies and zero-length Content-Length headers can lead to HTTP request smuggling attacks (bsc#1214425, fixed in an earlier update).
- Record
SUSE-SU-2025:03466-1- Updated
- 2026-11-02
OSVSUSE-SU-2025:03467-1 No score
Security update for rubygem-puma
This update for rubygem-puma fixes the following issues:
Update to version 5.6.9.
- CVE-2024-45614: improper header normalization allows for clients to clobber proxy set headers, which can lead to information leaks (bsc#1230848, fixed in an earlier update).
- CVE-2024-21647: unbounded resource consumption due to invalid parsing of chunked encoding in HTTP/1.1 can lead to denial-of-service attacks (bsc#1218638, fixed in an earlier update)
- CVE-2023-40175: incorrect behavior when parsing chunked transfer encoding bodies and zero-length Content-Length headers can lead to HTTP request smuggling attacks (bsc#1214425, fixed in an earlier update).
- Record
SUSE-SU-2025:03467-1- Updated
- 2026-11-02
OSVUSN-6682-1 No score
puma vulnerabilities
ZeddYu Lu discovered that Puma incorrectly handled parsing certain headers. A remote attacker could possibly use this issue to perform an HTTP Request Smuggling attack. This issue only affected Ubuntu 20.04 LTS. (CVE-2020-11076)
It was discovered that Puma incorrectly handled parsing certain headers. A remote attacker could possibly use this issue to perform an HTTP Request Smuggling attack. This issue only affected Ubuntu 20.04 LTS. (CVE-2020-11077)
Jean Boussier discovered that Puma might not always release resources properly after handling HTTP requests. A remote attacker could possibly use this issue to read sensitive information. (CVE-2022-23634)
It was discovered that Puma incorrectly handled certain malformed headers. A remote attacker could use this issue to perform an HTTP Request Smuggling attack. (CVE-2022-24790)
Ben Kallus discovered that Puma incorrectly handled parsing certain headers. A remote attacker could use this issue to perform an HTTP Request Smuggling attack. (CVE-2023-40175)
Bartek Nowotarski discovered that Puma incorrectly handled parsing certain encoded content. A remote attacker could possibly use this to cause a denial of service. (CVE-2024-21647)
- Record
USN-6682-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
pumaRubyGems |
6.0.0 up to 6.4.2 | 6.4.2 |
pumaRubyGems |
before 5.6.8 | 5.6.8 |
pumaDebian:12 |
before 5.6.5-3+deb12u1, plus listed versions 5.6.5-3 |
5.6.5-3+deb12u1 |
pumaDebian:13 |
before 6.4.2-1 | 6.4.2-1 |
pumaDebian:14 |
before 6.4.2-1 | 6.4.2-1 |
pumaDebian:11 From an advisory covering 2 CVEs |
before 4.3.8-1+deb11u3, plus listed versions 4.3.8-14.3.8-1+deb11u14.3.8-1+deb11u2 |
4.3.8-1+deb11u3 |
pumaRubyGems |
6.0.0 up to 6.4.2, plus listed versions 6.0.16.0.26.1.06.1.16.2.0 Show 6 moreShow less6.2.16.2.26.3.06.3.16.4.06.4.1 |
6.4.2 |
pumaRubyGems |
before 5.6.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 |
5.6.8 |
rubygem-pumaopenEuler:22.03-LTS-SP1 From an advisory covering 4 CVEs |
before 5.6.5-3.oe2203sp1 | 5.6.5-3.oe2203sp1 |
rubygem-pumaopenEuler:22.03-LTS-SP4 From an advisory covering 4 CVEs |
before 5.6.5-3.oe2203sp4 | 5.6.5-3.oe2203sp4 |
Show 75 moreShow less
| Package | Affected | Fixed |
|---|---|---|
rubygem-pumaopenEuler:22.03-LTS-SP3 From an advisory covering 4 CVEs |
before 5.6.5-3.oe2203sp3 | 5.6.5-3.oe2203sp3 |
python-pygmentsRed Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:2.17.0-1.el8pc | 0:2.17.0-1.el8pc |
python3.11-pygmentsRed Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:2.17.0-1.el8pc | 0:2.17.0-1.el8pc |
python-pygmentsRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:2.17.0-1.el8pc | 0:2.17.0-1.el8pc |
python3.11-pygmentsRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:2.17.0-1.el8pc | 0:2.17.0-1.el8pc |
foremanRed Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.1.6-1.el8sat | 0:3.9.1.6-1.el8sat |
foreman-debugRed Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.1.6-1.el8sat | 0:3.9.1.6-1.el8sat |
foremanRed Hat:satellite_utils:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.1.6-1.el8sat | 0:3.9.1.6-1.el8sat |
foreman-cliRed Hat:satellite_utils:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.1.6-1.el8sat | 0:3.9.1.6-1.el8sat |
foremanRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.1.6-1.el8sat | 0:3.9.1.6-1.el8sat |
foreman-cliRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.1.6-1.el8sat | 0:3.9.1.6-1.el8sat |
foreman-debugRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.1.6-1.el8sat | 0:3.9.1.6-1.el8sat |
foreman-dynflow-sidekiqRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.1.6-1.el8sat | 0:3.9.1.6-1.el8sat |
foreman-ec2Red Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.1.6-1.el8sat | 0:3.9.1.6-1.el8sat |
foreman-journaldRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.1.6-1.el8sat | 0:3.9.1.6-1.el8sat |
foreman-libvirtRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.1.6-1.el8sat | 0:3.9.1.6-1.el8sat |
foreman-openstackRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.1.6-1.el8sat | 0:3.9.1.6-1.el8sat |
foreman-ovirtRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.1.6-1.el8sat | 0:3.9.1.6-1.el8sat |
foreman-pcpRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.1.6-1.el8sat | 0:3.9.1.6-1.el8sat |
foreman-postgresqlRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.1.6-1.el8sat | 0:3.9.1.6-1.el8sat |
foreman-redisRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.1.6-1.el8sat | 0:3.9.1.6-1.el8sat |
foreman-serviceRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.1.6-1.el8sat | 0:3.9.1.6-1.el8sat |
foreman-telemetryRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.1.6-1.el8sat | 0:3.9.1.6-1.el8sat |
foreman-vmwareRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.1.6-1.el8sat | 0:3.9.1.6-1.el8sat |
python-galaxy-importerRed Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:0.4.19-2.el8pc | 0:0.4.19-2.el8pc |
python3.11-galaxy-importerRed Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:0.4.19-2.el8pc | 0:0.4.19-2.el8pc |
python-galaxy-importerRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:0.4.19-2.el8pc | 0:0.4.19-2.el8pc |
python3.11-galaxy-importerRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:0.4.19-2.el8pc | 0:0.4.19-2.el8pc |
puppetserverRed Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:7.14.0-1.el8sat | 0:7.14.0-1.el8sat |
puppetserverRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:7.14.0-1.el8sat | 0:7.14.0-1.el8sat |
python-aiohttpRed Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.2-1.el8pc | 0:3.9.2-1.el8pc |
python-aiohttp-debugsourceRed Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.2-1.el8pc | 0:3.9.2-1.el8pc |
python3.11-aiohttpRed Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.2-1.el8pc | 0:3.9.2-1.el8pc |
python3.11-aiohttp-debuginfoRed Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.2-1.el8pc | 0:3.9.2-1.el8pc |
python-aiohttpRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.2-1.el8pc | 0:3.9.2-1.el8pc |
python-aiohttp-debugsourceRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.2-1.el8pc | 0:3.9.2-1.el8pc |
python3.11-aiohttpRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.2-1.el8pc | 0:3.9.2-1.el8pc |
python3.11-aiohttp-debuginfoRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.9.2-1.el8pc | 0:3.9.2-1.el8pc |
rubygem-activesupportRed Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:6.1.7.6-1.el8sat | 0:6.1.7.6-1.el8sat |
rubygem-activesupportRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:6.1.7.6-1.el8sat | 0:6.1.7.6-1.el8sat |
python-djangoRed Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:4.2.9-1.el8pc | 0:4.2.9-1.el8pc |
python3.11-djangoRed Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:4.2.9-1.el8pc | 0:4.2.9-1.el8pc |
python-djangoRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:4.2.9-1.el8pc | 0:4.2.9-1.el8pc |
python3.11-djangoRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:4.2.9-1.el8pc | 0:4.2.9-1.el8pc |
python-pycryptodomexRed Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.20.0-1.el8pc | 0:3.20.0-1.el8pc |
python-pycryptodomex-debugsourceRed Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.20.0-1.el8pc | 0:3.20.0-1.el8pc |
python3.11-pycryptodomexRed Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.20.0-1.el8pc | 0:3.20.0-1.el8pc |
python3.11-pycryptodomex-debuginfoRed Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.20.0-1.el8pc | 0:3.20.0-1.el8pc |
python-pycryptodomexRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.20.0-1.el8pc | 0:3.20.0-1.el8pc |
python-pycryptodomex-debugsourceRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.20.0-1.el8pc | 0:3.20.0-1.el8pc |
python3.11-pycryptodomexRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.20.0-1.el8pc | 0:3.20.0-1.el8pc |
python3.11-pycryptodomex-debuginfoRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.20.0-1.el8pc | 0:3.20.0-1.el8pc |
rubygem-pumaRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:6.4.2-1.el8sat | 0:6.4.2-1.el8sat |
rubygem-puma-debuginfoRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:6.4.2-1.el8sat | 0:6.4.2-1.el8sat |
rubygem-puma-debugsourceRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:6.4.2-1.el8sat | 0:6.4.2-1.el8sat |
rubygem-auditedRed Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:5.4.2-1.el8sat | 0:5.4.2-1.el8sat |
python-jinja2Red Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.1.3-1.el8pc | 0:3.1.3-1.el8pc |
python3.11-jinja2Red Hat:satellite_capsule:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.1.3-1.el8pc | 0:3.1.3-1.el8pc |
python-jinja2Red Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.1.3-1.el8pc | 0:3.1.3-1.el8pc |
python3.11-jinja2Red Hat:satellite:6.15::el8 From an advisory covering 18 CVEs |
before 0:3.1.3-1.el8pc | 0:3.1.3-1.el8pc |
rubygem-pumaSUSE:Linux Enterprise High Availability Extension 15 SP2 From an advisory covering 2 CVEs |
before 4.3.12-150000.3.15.1 | 4.3.12-150000.3.15.1 |
rubygem-pumaSUSE:Linux Enterprise High Availability Extension 15 SP3 From an advisory covering 2 CVEs |
before 4.3.12-150000.3.15.1 | 4.3.12-150000.3.15.1 |
rubygem-pumaSUSE:Linux Enterprise High Availability Extension 15 SP4 From an advisory covering 2 CVEs |
before 4.3.12-150000.3.15.1 | 4.3.12-150000.3.15.1 |
rubygem-pumaSUSE:Linux Enterprise High Availability Extension 15 SP5 From an advisory covering 2 CVEs |
before 4.3.12-150000.3.15.1 | 4.3.12-150000.3.15.1 |
rubygem-pumaopenSUSE:Leap 15.5 From an advisory covering 2 CVEs |
before 4.3.12-150000.3.15.1 | 4.3.12-150000.3.15.1 |
rubygem-pumaSUSE:Linux Enterprise High Availability Extension 15 SP3 From an advisory covering 3 CVEs |
before 5.6.9-150000.3.18.1 | 5.6.9-150000.3.18.1 |
rubygem-pumaSUSE:Linux Enterprise High Availability Extension 15 SP4 From an advisory covering 3 CVEs |
before 5.6.9-150000.3.18.1 | 5.6.9-150000.3.18.1 |
rubygem-pumaSUSE:Linux Enterprise High Availability Extension 15 SP5 From an advisory covering 3 CVEs |
before 5.6.9-150000.3.18.1 | 5.6.9-150000.3.18.1 |
rubygem-pumaSUSE:Linux Enterprise High Availability Extension 15 SP6 From an advisory covering 3 CVEs |
before 5.6.9-150600.18.3.1 | 5.6.9-150600.18.3.1 |
rubygem-pumaSUSE:Linux Enterprise High Availability Extension 15 SP7 From an advisory covering 3 CVEs |
before 5.6.9-150600.18.3.1 | 5.6.9-150600.18.3.1 |
rubygem-pumaopenSUSE:Leap 15.6 From an advisory covering 3 CVEs |
before 5.6.9-150600.18.3.1 | 5.6.9-150600.18.3.1 |
pumaUbuntu:Pro:20.04:LTS |
before 3.12.4-1ubuntu2+esm1, plus listed versions 3.12.0-2ubuntu13.12.0-4ubuntu13.12.4-1ubuntu2 |
3.12.4-1ubuntu2+esm1 |
pumaUbuntu:Pro:22.04:LTS |
before 5.5.2-2ubuntu2+esm1, plus listed versions 4.3.6-1ubuntu45.5.2-2ubuntu2 |
5.5.2-2ubuntu2+esm1 |
pumaUbuntu:Pro:20.04:LTS From an advisory covering 6 CVEs |
before 3.12.4-1ubuntu2+esm1, plus listed versions 3.12.0-2ubuntu13.12.0-4ubuntu13.12.4-1ubuntu2 |
3.12.4-1ubuntu2+esm1 |
pumaUbuntu:Pro:22.04:LTS From an advisory covering 6 CVEs |
before 5.5.2-2ubuntu2+esm1, plus listed versions 4.3.6-1ubuntu45.5.2-2ubuntu2 |
5.5.2-2ubuntu2+esm1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2024-21647 is a medium vulnerability (CVSS 5.9) in Puma, published January 8, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.96%, the 61st percentile. Fixed in puma 6.4.2.
References
github.com/puma/puma/security/advisories/GHSA-c2f4-cvqm-65w2
github.com/puma/puma/commit/5fc43d73b6ff193325e657a24ed76dec79133e93
lists.debian.org/debian-lts-announce/2024/11/msg00004.html
nvd.nist.gov/vuln/detail/CVE-2024-21647
github.com/puma/puma/commit/60d5ee3734adc8cee85c3f0561af392448fe19b7
github.com/puma/puma/commit/bbb880ffb6debbfdea535b4b3eb2204d49ae151d
Show 194 moreShow less
github.com/rubysec/ruby-advisory-db/blob/master/gems/puma/CVE-2024-21647.yml
github.com/advisories/GHSA-c2f4-cvqm-65w2
github.com/CVEProject/cvelistV5/tree/main/cves/2024/21xxx/CVE-2024-21647.json
security-tracker.debian.org/tracker/CVE-2024-21647
github.com/puma/puma
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2024-2250
nvd.nist.gov/vuln/detail/CVE-2022-24790
nvd.nist.gov/vuln/detail/CVE-2023-40175
nvd.nist.gov/vuln/detail/CVE-2024-45614
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2024-2252
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2024-2259
access.redhat.com/errata/RHSA-2024:2010
bugzilla.redhat.com/show_bug.cgi?id=2251014
bugzilla.redhat.com/show_bug.cgi?id=2251019
bugzilla.redhat.com/show_bug.cgi?id=2251200
bugzilla.redhat.com/show_bug.cgi?id=2251643
bugzilla.redhat.com/show_bug.cgi?id=2252064
bugzilla.redhat.com/show_bug.cgi?id=2252235
bugzilla.redhat.com/show_bug.cgi?id=2252248
bugzilla.redhat.com/show_bug.cgi?id=2252450
bugzilla.redhat.com/show_bug.cgi?id=2252945
bugzilla.redhat.com/show_bug.cgi?id=2252968
bugzilla.redhat.com/show_bug.cgi?id=2253191
bugzilla.redhat.com/show_bug.cgi?id=2253212
bugzilla.redhat.com/show_bug.cgi?id=2253381
bugzilla.redhat.com/show_bug.cgi?id=2253519
bugzilla.redhat.com/show_bug.cgi?id=2253618
bugzilla.redhat.com/show_bug.cgi?id=2253621
bugzilla.redhat.com/show_bug.cgi?id=2253673
bugzilla.redhat.com/show_bug.cgi?id=2254074
bugzilla.redhat.com/show_bug.cgi?id=2254178
bugzilla.redhat.com/show_bug.cgi?id=2254230
bugzilla.redhat.com/show_bug.cgi?id=2254383
bugzilla.redhat.com/show_bug.cgi?id=2254408
bugzilla.redhat.com/show_bug.cgi?id=2254491
bugzilla.redhat.com/show_bug.cgi?id=2254492
bugzilla.redhat.com/show_bug.cgi?id=2254612
bugzilla.redhat.com/show_bug.cgi?id=2254690
bugzilla.redhat.com/show_bug.cgi?id=2254694
bugzilla.redhat.com/show_bug.cgi?id=2254712
bugzilla.redhat.com/show_bug.cgi?id=2254827
bugzilla.redhat.com/show_bug.cgi?id=2255026
bugzilla.redhat.com/show_bug.cgi?id=2255329
bugzilla.redhat.com/show_bug.cgi?id=2255344
bugzilla.redhat.com/show_bug.cgi?id=2255346
bugzilla.redhat.com/show_bug.cgi?id=2255385
bugzilla.redhat.com/show_bug.cgi?id=2255421
bugzilla.redhat.com/show_bug.cgi?id=2255424
bugzilla.redhat.com/show_bug.cgi?id=2255426
bugzilla.redhat.com/show_bug.cgi?id=2255546
bugzilla.redhat.com/show_bug.cgi?id=2255658
bugzilla.redhat.com/show_bug.cgi?id=2255900
bugzilla.redhat.com/show_bug.cgi?id=2255949
bugzilla.redhat.com/show_bug.cgi?id=2255969
bugzilla.redhat.com/show_bug.cgi?id=2256024
bugzilla.redhat.com/show_bug.cgi?id=2256136
bugzilla.redhat.com/show_bug.cgi?id=2256154
bugzilla.redhat.com/show_bug.cgi?id=2256218
bugzilla.redhat.com/show_bug.cgi?id=2256411
bugzilla.redhat.com/show_bug.cgi?id=2256452
bugzilla.redhat.com/show_bug.cgi?id=2256473
bugzilla.redhat.com/show_bug.cgi?id=2256604
bugzilla.redhat.com/show_bug.cgi?id=2256683
bugzilla.redhat.com/show_bug.cgi?id=2256891
bugzilla.redhat.com/show_bug.cgi?id=2256927
bugzilla.redhat.com/show_bug.cgi?id=2257028
bugzilla.redhat.com/show_bug.cgi?id=2257340
bugzilla.redhat.com/show_bug.cgi?id=2257854
bugzilla.redhat.com/show_bug.cgi?id=2257957
bugzilla.redhat.com/show_bug.cgi?id=2258016
bugzilla.redhat.com/show_bug.cgi?id=2258109
bugzilla.redhat.com/show_bug.cgi?id=2258876
bugzilla.redhat.com/show_bug.cgi?id=2259163
bugzilla.redhat.com/show_bug.cgi?id=2261887
bugzilla.redhat.com/show_bug.cgi?id=2261909
bugzilla.redhat.com/show_bug.cgi?id=2263243
bugzilla.redhat.com/show_bug.cgi?id=2263815
bugzilla.redhat.com/show_bug.cgi?id=2264342
bugzilla.redhat.com/show_bug.cgi?id=2267949
bugzilla.redhat.com/show_bug.cgi?id=2269363
bugzilla.redhat.com/show_bug.cgi?id=2270295
access.redhat.com/security/updates/classification
bugzilla.redhat.com/show_bug.cgi?id=1393613
bugzilla.redhat.com/show_bug.cgi?id=1792187
bugzilla.redhat.com/show_bug.cgi?id=1884395
bugzilla.redhat.com/show_bug.cgi?id=1937203
bugzilla.redhat.com/show_bug.cgi?id=1943306
bugzilla.redhat.com/show_bug.cgi?id=1964539
bugzilla.redhat.com/show_bug.cgi?id=1967073
bugzilla.redhat.com/show_bug.cgi?id=1976178
bugzilla.redhat.com/show_bug.cgi?id=1976213
bugzilla.redhat.com/show_bug.cgi?id=1992495
bugzilla.redhat.com/show_bug.cgi?id=1993917
bugzilla.redhat.com/show_bug.cgi?id=1994654
bugzilla.redhat.com/show_bug.cgi?id=2015344
bugzilla.redhat.com/show_bug.cgi?id=2026701
bugzilla.redhat.com/show_bug.cgi?id=2044527
bugzilla.redhat.com/show_bug.cgi?id=2048805
bugzilla.redhat.com/show_bug.cgi?id=2053416
bugzilla.redhat.com/show_bug.cgi?id=2063218
bugzilla.redhat.com/show_bug.cgi?id=2063717
bugzilla.redhat.com/show_bug.cgi?id=2068263
bugzilla.redhat.com/show_bug.cgi?id=2068527
bugzilla.redhat.com/show_bug.cgi?id=2070487
bugzilla.redhat.com/show_bug.cgi?id=2071097
bugzilla.redhat.com/show_bug.cgi?id=2081244
bugzilla.redhat.com/show_bug.cgi?id=2087537
bugzilla.redhat.com/show_bug.cgi?id=2091900
security.access.redhat.com/data/csaf/v2/advisories/2024/rhsa-2024_2010.json
access.redhat.com/security/cve/CVE-2022-40896
cve.org/CVERecord?id=CVE-2022-40896
nvd.nist.gov/vuln/detail/CVE-2022-40896
access.redhat.com/security/cve/CVE-2023-4320
cve.org/CVERecord?id=CVE-2023-4320
nvd.nist.gov/vuln/detail/CVE-2023-4320
access.redhat.com/security/cve/CVE-2023-5189
cve.org/CVERecord?id=CVE-2023-5189
nvd.nist.gov/vuln/detail/CVE-2023-5189
access.redhat.com/security/cve/CVE-2023-36479
cve.org/CVERecord?id=CVE-2023-36479
nvd.nist.gov/vuln/detail/CVE-2023-36479
access.redhat.com/security/cve/CVE-2023-37276
cve.org/CVERecord?id=CVE-2023-37276
nvd.nist.gov/vuln/detail/CVE-2023-37276
github.com/aio-libs/aiohttp/security/advisories/GHSA-45c4-8wx5-qw6w
access.redhat.com/security/cve/CVE-2023-38037
cve.org/CVERecord?id=CVE-2023-38037
nvd.nist.gov/vuln/detail/CVE-2023-38037
github.com/rubysec/ruby-advisory-db/blob/master/gems/activesupport/CVE-2023-38037.yml
access.redhat.com/security/cve/CVE-2023-40167
cve.org/CVERecord?id=CVE-2023-40167
nvd.nist.gov/vuln/detail/CVE-2023-40167
github.com/eclipse/jetty.project/security/advisories/GHSA-hmr7-m48g-48f6
rfc-editor.org/rfc/rfc9110
access.redhat.com/security/cve/CVE-2023-41164
cve.org/CVERecord?id=CVE-2023-41164
nvd.nist.gov/vuln/detail/CVE-2023-41164
djangoproject.com/weblog/2023/sep/04/security-releases
access.redhat.com/security/cve/CVE-2023-43665
cve.org/CVERecord?id=CVE-2023-43665
nvd.nist.gov/vuln/detail/CVE-2023-43665
djangoproject.com/weblog/2023/oct/04/security-releases
access.redhat.com/security/cve/CVE-2023-47627
cve.org/CVERecord?id=CVE-2023-47627
nvd.nist.gov/vuln/detail/CVE-2023-47627
github.com/aio-libs/aiohttp/security/advisories/GHSA-gfw2-4jvh-wgfg
access.redhat.com/security/cve/CVE-2023-49081
cve.org/CVERecord?id=CVE-2023-49081
nvd.nist.gov/vuln/detail/CVE-2023-49081
github.com/aio-libs/aiohttp/security/advisories/GHSA-q3qx-c6g2-7pw2
access.redhat.com/security/cve/CVE-2023-49082
cve.org/CVERecord?id=CVE-2023-49082
nvd.nist.gov/vuln/detail/CVE-2023-49082
github.com/aio-libs/aiohttp/security/advisories/GHSA-qvrw-v9rv-5rjx
access.redhat.com/security/cve/CVE-2023-52323
cve.org/CVERecord?id=CVE-2023-52323
nvd.nist.gov/vuln/detail/CVE-2023-52323
github.com/Legrandin/pycryptodome/blob/master/Changelog.rst
pypi.org/project/pycryptodomex
access.redhat.com/security/cve/CVE-2024-21647
cve.org/CVERecord?id=CVE-2024-21647
access.redhat.com/security/cve/CVE-2024-22047
cve.org/CVERecord?id=CVE-2024-22047
nvd.nist.gov/vuln/detail/CVE-2024-22047
access.redhat.com/security/cve/CVE-2024-22195
cve.org/CVERecord?id=CVE-2024-22195
nvd.nist.gov/vuln/detail/CVE-2024-22195
github.com/pallets/jinja/releases/tag/3.1.3
github.com/pallets/jinja/security/advisories/GHSA-h5c8-rqwp-cp95
access.redhat.com/security/cve/CVE-2024-23334
cve.org/CVERecord?id=CVE-2024-23334
nvd.nist.gov/vuln/detail/CVE-2024-23334
github.com/aio-libs/aiohttp/security/advisories/GHSA-5h86-8mv2-jq9f
access.redhat.com/security/cve/CVE-2024-23829
cve.org/CVERecord?id=CVE-2024-23829
nvd.nist.gov/vuln/detail/CVE-2024-23829
github.com/aio-libs/aiohttp/security/advisories/GHSA-8qpw-xqxj-h4r2
suse.com/support/update/announcement/2024/suse-su-20243644-1
bugzilla.suse.com/1218638
bugzilla.suse.com/1230848
suse.com/security/cve/CVE-2024-21647
suse.com/security/cve/CVE-2024-45614
suse.com/support/update/announcement/2025/suse-su-202503466-1
bugzilla.suse.com/1214425
suse.com/security/cve/CVE-2023-40175
suse.com/support/update/announcement/2025/suse-su-202503467-1
ubuntu.com/security/CVE-2024-21647
ubuntu.com/security/notices/USN-6597-1
ubuntu.com/security/notices/USN-6682-1
ubuntu.com/security/CVE-2020-11076
ubuntu.com/security/CVE-2020-11077
ubuntu.com/security/CVE-2022-23634
ubuntu.com/security/CVE-2022-24790
ubuntu.com/security/CVE-2023-40175
Left out here: 103 versions and 159 references. The JSON record has them.