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:
Incorrect parsing of trailing fields in chunked transfer encoding bodies
Parsing of blank/zero-length Content-Length headers
Patches
The vulnerability has been fixed in 6.3.1 and 5.6.7.
puma/puma (puma)
### [`v5.6.7`](https://togithub.com/puma/puma/blob/HEAD/History.md#567--2023-08-18)
[Compare Source](https://togithub.com/puma/puma/compare/v5.6.6...v5.6.7)
- Security
- Address HTTP request smuggling vulnerabilities with zero-length Content Length header and trailer fields ([GHSA-68xg-gqqm-vgj8](https://togithub.com/puma/puma/security/advisories/GHSA-68xg-gqqm-vgj8))
### [`v5.6.6`](https://togithub.com/puma/puma/blob/HEAD/History.md#566--2023-06-21)
[Compare Source](https://togithub.com/puma/puma/compare/v5.6.5...v5.6.6)
- Bugfix
- Prevent loading with rack 3 (\[[#3166](https://togithub.com/puma/puma/issues/3166)])
### [`v5.6.5`](https://togithub.com/puma/puma/blob/HEAD/History.md#565--2022-08-23)
[Compare Source](https://togithub.com/puma/puma/compare/v5.6.4...v5.6.5)
- Feature
- Puma::ControlCLI - allow refork command to be sent as a request (\[[#2868](https://togithub.com/puma/puma/issues/2868)], \[[#2866](https://togithub.com/puma/puma/issues/2866)])
- Bugfixes
- NullIO#closed should return false (\[[#2883](https://togithub.com/puma/puma/issues/2883)])
- \[jruby] Fix TLS verification hang (\[[#2890](https://togithub.com/puma/puma/issues/2890)], \[[#2729](https://togithub.com/puma/puma/issues/2729)])
- extconf.rb - don't use pkg_config('openssl') if '--with-openssl-dir' is used (\[[#2885](https://togithub.com/puma/puma/issues/2885)], \[[#2839](https://togithub.com/puma/puma/issues/2839)])
- MiniSSL - detect SSL_CTX_set_dh_auto (\[[#2864](https://togithub.com/puma/puma/issues/2864)], \[[#2863](https://togithub.com/puma/puma/issues/2863)])
- Fix rack.after_reply exceptions breaking connections (\[[#2861](https://togithub.com/puma/puma/issues/2861)], \[[#2856](https://togithub.com/puma/puma/issues/2856)])
- Escape SSL cert and filenames (\[[#2855](https://togithub.com/puma/puma/issues/2855)])
- Fail hard if SSL certs or keys are invalid (\[[#2848](https://togithub.com/puma/puma/issues/2848)])
- Fail hard if SSL certs or keys cannot be read by user (\[[#2847](https://togithub.com/puma/puma/issues/2847)])
- Fix build with Opaque DH in LibreSSL 3.5. (\[[#2838](https://togithub.com/puma/puma/issues/2838)])
- Pre-existing socket file removed when TERM is issued after USR2 (if puma is running in cluster mode) (\[[#2817](https://togithub.com/puma/puma/issues/2817)])
- Fix Puma::StateFile#load incompatibility (\[[#2810](https://togithub.com/puma/puma/issues/2810)])
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
5.6.4
->5.6.7
GitHub Vulnerability Alerts
CVE-2023-40175
Impact
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:
Patches
The vulnerability has been fixed in 6.3.1 and 5.6.7.
Workarounds
No known workarounds.
References
HTTP Request Smuggling
For more information
If you have any questions or comments about this advisory:
Open an issue in Puma See our security policy
Release Notes
puma/puma (puma)
### [`v5.6.7`](https://togithub.com/puma/puma/blob/HEAD/History.md#567--2023-08-18) [Compare Source](https://togithub.com/puma/puma/compare/v5.6.6...v5.6.7) - Security - Address HTTP request smuggling vulnerabilities with zero-length Content Length header and trailer fields ([GHSA-68xg-gqqm-vgj8](https://togithub.com/puma/puma/security/advisories/GHSA-68xg-gqqm-vgj8)) ### [`v5.6.6`](https://togithub.com/puma/puma/blob/HEAD/History.md#566--2023-06-21) [Compare Source](https://togithub.com/puma/puma/compare/v5.6.5...v5.6.6) - Bugfix - Prevent loading with rack 3 (\[[#3166](https://togithub.com/puma/puma/issues/3166)]) ### [`v5.6.5`](https://togithub.com/puma/puma/blob/HEAD/History.md#565--2022-08-23) [Compare Source](https://togithub.com/puma/puma/compare/v5.6.4...v5.6.5) - Feature - Puma::ControlCLI - allow refork command to be sent as a request (\[[#2868](https://togithub.com/puma/puma/issues/2868)], \[[#2866](https://togithub.com/puma/puma/issues/2866)]) - Bugfixes - NullIO#closed should return false (\[[#2883](https://togithub.com/puma/puma/issues/2883)]) - \[jruby] Fix TLS verification hang (\[[#2890](https://togithub.com/puma/puma/issues/2890)], \[[#2729](https://togithub.com/puma/puma/issues/2729)]) - extconf.rb - don't use pkg_config('openssl') if '--with-openssl-dir' is used (\[[#2885](https://togithub.com/puma/puma/issues/2885)], \[[#2839](https://togithub.com/puma/puma/issues/2839)]) - MiniSSL - detect SSL_CTX_set_dh_auto (\[[#2864](https://togithub.com/puma/puma/issues/2864)], \[[#2863](https://togithub.com/puma/puma/issues/2863)]) - Fix rack.after_reply exceptions breaking connections (\[[#2861](https://togithub.com/puma/puma/issues/2861)], \[[#2856](https://togithub.com/puma/puma/issues/2856)]) - Escape SSL cert and filenames (\[[#2855](https://togithub.com/puma/puma/issues/2855)]) - Fail hard if SSL certs or keys are invalid (\[[#2848](https://togithub.com/puma/puma/issues/2848)]) - Fail hard if SSL certs or keys cannot be read by user (\[[#2847](https://togithub.com/puma/puma/issues/2847)]) - Fix build with Opaque DH in LibreSSL 3.5. (\[[#2838](https://togithub.com/puma/puma/issues/2838)]) - Pre-existing socket file removed when TERM is issued after USR2 (if puma is running in cluster mode) (\[[#2817](https://togithub.com/puma/puma/issues/2817)]) - Fix Puma::StateFile#load incompatibility (\[[#2810](https://togithub.com/puma/puma/issues/2810)])Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.