CVE-2023-40175 json
Inconsistent Interpretation of HTTP Requests in puma
published 2023-08-18 3 y ago modified 2026-09-10 1 mo ago also GHSA-68xg-gqqm-vgj8 , EUVD-2023-2224
- cvss
- 7.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.8%
- EPSS 0.8% chance of exploitation in 30 days, percentile 58%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- rubygems puma 5.6.7, 6.3.1
- puma puma 5.6.7, 6.3.1
- puma Debian 12 5.6.5-3+deb12u1
- puma Debian 14, Debian 13 5.6.7-1
debian advisories DEBIAN-CVE-2023-40175
- puma Ubuntu 24.04 LTS 5.6.5-4ubuntu2
- 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-2023-40175
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
- candlepin satellite 6.14 4.3.11-1.el8sat
- mosquitto satellite capsule 6.14, satellite 6.14 2.0.17-1.el8sat
- puppet-agent satellite capsule 6.14, satellite 6.14 7.27.0-1.el8sat
- puppetserver satellite capsule 6.14, satellite 6.14 7.14.0-1.el8sat
- rubygem-grpc satellite 6.14 1.58.0-1.el8sat
- rubygem-puma satellite 6.14 6.3.1-1.el8sat
- rubygem-sidekiq satellite 6.14 6.5.12-1.el8sat
- candlepin-selinux satellite 6.14 4.3.11-1.el8sat
red hat advisories RHSA-2024:0797
- rubygem-puma SLE High Availability Extension 15 SP7, SLE High Availability Extension 15 SP6, openSUSE Leap 15.6 5.6.9-150600.18.3.1
- rubygem-puma SLE High Availability Extension 15 SP5, SLE High Availability Extension 15 SP4, SLE High Availability Extension 15 SP3 5.6.9-150000.3.18.1
- rubygem-puma SLE High Availability Extension 15 SP5, SLE High Availability Extension 15 SP4, SLE High Availability Extension 15 SP3 +4 more 4.3.12-150000.3.12.1
suse advisories SUSE-SU-2025:03467-1SUSE-SU-2025:03466-1SUSE-SU-2023:3957-1
- github.com/puma/puma@690155e commit
- github.com/puma/puma@7405a21 commit
- github.com/puma/puma@ed0f2f9 commit
- github.com/puma/puma/releases/tag/v5.6.7 release
- github.com/puma/puma/releases/tag/v6.3.1 release
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-2023-40175 updated cvss 7.3
rubygem-puma: HTTP request smuggling when parsing chunked transfer encoding bodies and zero-length content-length headers
-
Red Hat 3scale API Management Platform 2 3scale-amp2/zync-rhel8 Red Hat Satellite 6 tfm-rubygem-pumaaffected: no fix available
-
Red Hat Storage 3 rubygem-pumaaffected: no fix planned “Will not fix”
-
Red Hat Satellite 6.14 for RHEL 8 rubygem-puma 6.3.1-1.el8satfixed: vendor fix RHSA-2024:0797
-
Red Hat Satellite 6.14 for RHEL 8 candlepin 4.3.11-1.el8sat, foreman 3.7.0.11-2.el8sat, mosquitto 2.0.17-1.el8sat, satellite 6.14.2-1.el8sat, rubygem-kafo 7.2.0-1.el8sat, puppet-agent 7.27.0-1.el8sat, +27 morenot 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
- partial
- Assessed
- 2 y ago
Exploit prediction
0.85% chance of exploitation in the next 30 days, higher than 58% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L |
| NVD | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | puma | <5.6.7 >=6.0.0, <6.3.1 |
5.6.7 6.3.1 |
Affected products
- puma puma
Classification
- Weakness
-
- CWE-444 Inconsistent Interpretation of HTTP Requests
References
-
github.com
/puma/puma/commit/690155e7d644b80eeef0a6094f9826ee41f1080a
web, patch
-
github.com
/puma/puma/commit/7405a219801dcebc0ad6e0aa108d4319ca23f662
web
-
github.com
/puma/puma/commit/ed0f2f94b56982c687452504b95d5f1fbbe3eed1
web
-
github.com
/puma/puma/security/advisories/GHSA-68xg-gqqm-vgj8
web, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2023-40175
advisory
-
github.com
/puma/puma
package
-
github.com
/puma/puma/releases/tag/v5.6.7
web
-
github.com
/puma/puma/releases/tag/v6.3.1
web
-
github.com
/rubysec/ruby-advisory-db/blob/master/gems/puma/CVE-2023-40175.yml
web
Sources
- CVE List CVE-2023-40175
- GitHub Advisory GHSA-68xg-gqqm-vgj8
- NVD CVE-2023-40175
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.