CVE-2022-24790 json
HTTP Request Smuggling in puma
published 2022-03-30 4 y ago modified 2026-06-17 4 mo ago also GHSA-h99w-9q5r-gjq9 , EUVD-2022-1439
- cvss
- 9.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 2.2%
- EPSS 2.2% chance of exploitation in 30 days, percentile 82%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- rubygems puma 4.3.12, 5.6.4
- puma puma 4.3.12, 5.6.4
- puma Debian 14, Debian 13, Debian 12 5.6.4-1
debian advisories DEBIAN-CVE-2022-24790
- puma Ubuntu Pro 20.04 LTS 3.12.4-1ubuntu2+esm1
- puma Ubuntu Pro 22.04 LTS 5.5.2-2ubuntu2+esm1
ubuntu advisories UBUNTU-CVE-2022-24790
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- grafana storage 3.5 5.2.4-6.el7rhgs
- rubygem-puma storage 3.5 4.3.12-1.el7rhgs
- rubygem-rack storage 3.5 2.2.4-1.el7rhgs
- rubygem-tzinfo storage 3.5 1.2.10-1.el7rhgs
- tfm-rubygem-puma satellite 6.9 4.3.12-1.el7sat
red hat advisories RHSA-2023:1486RHSA-2022:8532
- rubygem-puma SLE High Availability Extension 15 SP4, SLE High Availability Extension 15 SP3, SLE High Availability Extension 15 SP2 +4 more 4.3.12-150000.3.9.1
- grafana OpenStack Cloud Crowbar 9, OpenStack Cloud 9 6.7.4-3.29.1
- rubygem-puma OpenStack Cloud Crowbar 9 2.16.0-4.18.1
- ardana-ansible OpenStack Cloud 9 9.0+git.1660748476.c118d23-3.32.1
- ardana-cobbler OpenStack Cloud 9 9.0+git.1660747489.119efcd-3.19.1
- ardana-tempest OpenStack Cloud 9 9.0+git.1651855288.a2341ad-3.22.1
- openstack-nova OpenStack Cloud Crowbar 9, OpenStack Cloud 9 18.3.1~dev92-3.43.1
- python-Django1 OpenStack Cloud Crowbar 9, OpenStack Cloud 9 1.11.29-3.40.1
suse advisories SUSE-SU-2022:3571-1SUSE-SU-2022:3339-1SUSE-SU-2022:3338-1
- rubygem-puma-4 openSUSE Tumbleweed 4.3.12-1.1
- rubygem-puma-5 openSUSE Tumbleweed 5.6.5-1.1
- ruby3.2-rubygem-puma-5 openSUSE Tumbleweed 5.6.5-1.7
- rubygem-puma-5 openSUSE Tumbleweed 5.6.8-1.1
opensuse advisories openSUSE-SU-2024:12032-1openSUSE-SU-2024:12592-1openSUSE-SU-2024:13166-1openSUSE-SU-2024:13721-1
- ruby-puma Arch Linux 5.6.4-1
arch linux advisories AVG-2764
- github.com/puma/puma@5bb7d20 commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2022-24790 updated cvss 7.5
puma-5.6.4: http request smuggling vulnerabilities
-
Red Hat CloudForms Management Engine 5 rubygem-pumaaffected: no fix planned “Will not fix”
-
Red Hat Satellite 6 tfm-rubygem-puma-plugin-systemdaffected: no fix available
-
Red Hat Gluster 3.5 Web Administration on RHEL-7 rubygem-puma 4.3.12-1.el7rhgsfixed: vendor fix RHSA-2023:1486
-
Red Hat Satellite 6.9 tfm-rubygem-puma 4.3.12-1.el7satfixed: vendor fix RHSA-2022:8532
-
Red Hat Gluster 3.5 Web Administration on RHEL-7 ruby 2.4.9-94.el7rhgs, grafana 5.2.4-6.el7rhgs, ruby-irb 2.4.9-94.el7rhgs, ruby-libs 2.4.9-94.el7rhgs, rubygem-i18n 1.9.1-1.el7rhgs, rubygem-rack 2.2.4-1.el7rhgs, +28 more Red Hat Satellite 6.9 satellite 6.9.10-1.el7sat, satellite-cli 6.9.10-1.el7sat, satellite-common 6.9.10-1.el7sat, satellite-capsule 6.9.10-1.el7sat, satellite-debug-tools 6.9.10-1.el7sat, tfm-rubygem-katello 3.18.1.55-1.el7sat, +3 more Red Hat Satellite Capsule 6.9 satellite 6.9.10-1.el7sat, satellite-cli 6.9.10-1.el7sat, satellite-common 6.9.10-1.el7sat, satellite-capsule 6.9.10-1.el7sat, satellite-debug-tools 6.9.10-1.el7satnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- total
- Assessed
- 18 mo ago
Exploit prediction
2.19% chance of exploitation in the next 30 days, higher than 82% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 9.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:N/I:P/A:N |
| GitHub | 3.1 | 9.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | puma | >=5.0.0, <5.6.4 <4.3.12 |
5.6.4 4.3.12 |
Affected products
- puma puma
Classification
- Weakness
-
- CWE-444 Inconsistent Interpretation of HTTP Requests
References
-
github.com
/puma/puma/commit/5bb7d202e24dec00a898dca4aa11db391d7787a5
web, patch, third-party-advisory
-
debian.org
/security/2022/dsa-5146
vendor-advisory, web, third-party-advisory
-
security.gentoo.org
/glsa/202208-28
vendor-advisory, web, third-party-advisory
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/TUBFJ44NCKJ34LECZRAP4N5VL6USJSIB/
vendor-advisory
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/L7NESIBFCNSR3XH7LXDPKVMSUBNUB43G/
vendor-advisory
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/F6YWGIIKL7KKTS3ZOAYMYPC7D6WQ5OA5/
vendor-advisory
-
github.com
/puma/puma/security/advisories/GHSA-h99w-9q5r-gjq9
web, issue-tracking, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2022/08/msg00015.html
mailing-list, web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2022-24790
advisory
-
github.com
/puma/puma
package
-
github.com
/rubysec/ruby-advisory-db/blob/master/gems/puma/CVE-2022-24790.yml
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/F6YWGIIKL7KKTS3ZOAYMYPC7D6WQ5OA5
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/L7NESIBFCNSR3XH7LXDPKVMSUBNUB43G
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/TUBFJ44NCKJ34LECZRAP4N5VL6USJSIB
web
-
portswigger.net
/web-security/request-smuggling
web
Sources
- CVE List CVE-2022-24790
- GitHub Advisory GHSA-h99w-9q5r-gjq9
- NVD CVE-2022-24790
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.