Prior to version 6.3.1, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies and zero-length Content-Length headers in a way that allowed HTTP request smuggling.
The following vulnerabilities are addressed by this advisory:
The vulnerability has been fixed in 6.3.1 and 5.6.7.
No known workarounds.
If you have any questions or comments about this advisory:
Open an issue in Puma
See our security policy
github.com/advisories/GHSA-68xg-gqqm-vgj8
github.com/puma/puma/commit/690155e7d644b80eeef0a6094f9826ee41f1080a
github.com/puma/puma/commit/7405a219801dcebc0ad6e0aa108d4319ca23f662
github.com/puma/puma/commit/ed0f2f94b56982c687452504b95d5f1fbbe3eed1
github.com/puma/puma/releases/tag/v5.6.7
github.com/puma/puma/releases/tag/v6.3.1
github.com/puma/puma/security/advisories/GHSA-68xg-gqqm-vgj8
github.com/rubysec/ruby-advisory-db/blob/master/gems/puma/CVE-2023-40175.yml
nvd.nist.gov/vuln/detail/CVE-2023-40175