Puma is a HTTP 1.1 server for Ruby/Rack applications. Prior to versions 5.5.1 and 4.3.9, using `puma` with a proxy which forwards HTTP header values which contain the LF character could allow HTTP request smugggling. A client could smuggle a request through a proxy, causing the proxy to send a response back to another unknown client. The only proxy which has this behavior, as far as the Puma team is aware of, is Apache Traffic Server. If the proxy uses persistent connections and the client adds another request in via HTTP pipelining, the proxy may mistake it as the first request's body. Puma, however, would see it as two requests, and when processing the second request, send back a response that the proxy does not expect. If the proxy has reused the persistent connection to Puma to send another request for a different client, the second response from the first client will be sent to the second client. This vulnerability was patched in Puma 5.5.1 and 4.3.9. As a workaround, do not use Apache Traffic Server with `puma`.
CVSS Details
- CVSS 3.1 Base Score: 3.7
- CVSS 3.1 Vector: (CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Arch Linux | — | Upgrade to the latest version of Arch Linux | Jul 11, 2025 | Oct 12, 2021 |
| Centos_linux | — | Upgrade tfm-rubygem-hammer_cli_foreman_discoveryUpgrade tfm-rubygem-localeUpgrade tfm-rubygem-hashieUpgrade rubygem-jwtUpgrade rubygem-unicode-debuginfoUpgrade rubygem-loggingUpgrade satellite-maintainUpgrade rubygem-hashieUpgrade rubygem-netrcUpgrade rubygem-hammer_cli_foreman_templatesUpgrade tfm-rubygem-hammer_cli_foremanUpgrade tfm-rubygem-unicode-display_widthUpgrade rubygem-clampUpgrade rubygem-hammer_cli_foremanUpgrade tfm-rubygem-highlineUpgrade rubygem-hammer_cli_foreman_tasksUpgrade rubygem-rest-clientUpgrade rubygem-hammer_cli_foreman_remote_executionUpgrade rubygem-unicode-display_widthUpgrade tfm-rubygem-domain_nameUpgrade rubygem-hammer_cliUpgrade tfm-rubygem-mime-types-dataUpgrade rubygem-foreman_maintainUpgrade tfm-rubygem-hammer_cli_foreman_webhooksUpgrade rubygem-unf_ext-debugsourceUpgrade rubygem-oauthUpgrade rubygem-highlineUpgrade tfm-rubygem-netrcUpgrade rubygem-little-pluggerUpgrade tfm-rubygem-jwtUpgrade tfm-rubygem-loggingUpgrade rubygem-hammer_cli_foreman_webhooksUpgrade tfm-rubygem-unf_ext-debuginfoUpgrade foreman-cliUpgrade tfm-rubygem-hammer_cli_foreman_remote_executionUpgrade tfm-rubygem-powerbarUpgrade tfm-runtimeUpgrade tfm-rubygem-little-pluggerUpgrade tfm-rubygem-http-cookieUpgrade tfm-rubygem-unf_extUpgrade rubygem-hammer_cli_foreman_discoveryUpgrade satellite-cliUpgrade tfm-rubygem-hammer_cli_foreman_azure_rmUpgrade tfm-rubygem-multi_jsonUpgrade rubygem-unfUpgrade rubygem-http-cookieUpgrade rubygem-hammer_cli_foreman_openscapUpgrade tfm-rubygem-oauthUpgrade rubygem-unicodeUpgrade rubygem-hammer_cli_foreman_virt_who_configureUpgrade rubygem-fast_gettextUpgrade rubygem-powerbarUpgrade tfm-rubygem-hammer_cli_katelloUpgrade tfm-rubygem-unicodeUpgrade tfm-rubygem-mime-typesUpgrade tfm-rubygem-hammer_cli_foreman_openscapUpgrade tfm-rubygem-clampUpgrade rubygem-localeUpgrade rubygem-hammer_cli_foreman_bootdiskUpgrade rubygem-amazing_printUpgrade rubygem-unicode-debugsourceUpgrade rubygem-hammer_cli_foreman_azure_rmUpgrade rubygem-mime-types-dataUpgrade rubygem-hammer_cli_foreman_ansibleUpgrade rubygem-hammer_cli_foreman_adminUpgrade tfm-rubygem-hammer_cli_foreman_ansibleUpgrade tfm-rubygem-amazing_printUpgrade rubygem-mime-typesUpgrade tfm-rubygem-fast_gettextUpgrade rubygem-apipie-bindingsUpgrade tfm-rubygem-hammer_cliUpgrade rubygem-unf_ext-debuginfoUpgrade tfm-rubygem-apipie-bindingsUpgrade tfm-rubygem-rest-clientUpgrade tfm-rubygem-hammer_cli_foreman_bootdiskUpgrade rubygem-hammer_cli_katelloUpgrade rubygem-unf_extUpgrade tfm-rubygem-unfUpgrade tfm-rubygem-hammer_cli_foreman_adminUpgrade tfm-rubygem-unicode-debuginfoUpgrade tfm-rubygem-hammer_cli_foreman_templatesUpgrade satellite-cloneUpgrade tfm-rubygem-hammer_cli_foreman_virt_who_configureUpgrade tfm-rubygem-hammer_cli_foreman_tasksUpgrade rubygem-multi_jsonUpgrade rubygem-domain_name | Jul 14, 2022 | Oct 12, 2021 |
| Debian | — | Upgrade puma | Aug 29, 2022 | Oct 12, 2021 |
| Gentoo Linux | — | Upgrade www-servers/puma. | Aug 16, 2022 | Oct 12, 2021 |
| Redhat_linux | — | Upgrade rubygem-hammer_cli_katelloUpgrade tfm-rubygem-unf_ext-debuginfoUpgrade satellite-cliUpgrade tfm-rubygem-oauthUpgrade rubygem-unicode-display_widthUpgrade tfm-rubygem-rest-clientUpgrade rubygem-netrcUpgrade rubygem-hammer_cli_foreman_openscapUpgrade rubygem-hammer_cli_foreman_virt_who_configureUpgrade rubygem-http-cookieUpgrade rubygem-unf_ext-debugsourceUpgrade satellite-cloneUpgrade tfm-rubygem-hammer_cli_foreman_openscapUpgrade tfm-rubygem-unfUpgrade rubygem-hammer_cli_foreman_azure_rmUpgrade rubygem-hashieUpgrade satellite-maintainUpgrade tfm-rubygem-fast_gettextUpgrade tfm-rubygem-netrcUpgrade tfm-rubygem-http-cookieUpgrade tfm-rubygem-hammer_cli_foreman_remote_executionUpgrade rubygem-unicodeUpgrade rubygem-unf_extUpgrade tfm-rubygem-jwtUpgrade tfm-rubygem-mime-typesUpgrade tfm-rubygem-hammer_cli_foreman_bootdiskUpgrade tfm-rubygem-hashieUpgrade rubygem-hammer_cli_foreman_adminUpgrade rubygem-powerbarUpgrade tfm-rubygem-apipie-bindingsUpgrade tfm-rubygem-multi_jsonUpgrade rubygem-unf_ext-debuginfoUpgrade rubygem-hammer_cli_foremanUpgrade rubygem-mime-typesUpgrade tfm-rubygem-hammer_cli_foreman_templatesUpgrade rubygem-apipie-bindingsUpgrade tfm-rubygem-unf_extUpgrade tfm-rubygem-localeUpgrade rubygem-hammer_cli_foreman_bootdiskUpgrade tfm-rubygem-hammer_cli_foreman_tasksUpgrade tfm-rubygem-unicodeUpgrade tfm-runtimeUpgrade tfm-rubygem-hammer_cli_foreman_azure_rmUpgrade tfm-rubygem-amazing_printUpgrade tfm-rubygem-unicode-debuginfoUpgrade rubygem-multi_jsonUpgrade tfm-rubygem-powerbarUpgrade tfm-rubygem-hammer_cli_foreman_adminUpgrade rubygem-hammer_cli_foreman_ansibleUpgrade rubygem-hammer_cli_foreman_templatesUpgrade tfm-rubygem-hammer_cli_foreman_virt_who_configureUpgrade tfm-rubygem-hammer_cli_foreman_ansibleUpgrade tfm-rubygem-hammer_cliUpgrade rubygem-domain_nameUpgrade rubygem-unicode-debugsourceUpgrade tfm-rubygem-little-pluggerUpgrade rubygem-hammer_cli_foreman_remote_executionUpgrade tfm-rubygem-mime-types-dataUpgrade tfm-rubygem-hammer_cli_foreman_discoveryUpgrade rubygem-localeUpgrade tfm-rubygem-hammer_cli_katelloUpgrade rubygem-hammer_cliUpgrade tfm-rubygem-unicode-display_widthUpgrade rubygem-unicode-debuginfoUpgrade tfm-rubygem-domain_nameUpgrade rubygem-hammer_cli_foreman_webhooksUpgrade rubygem-unfUpgrade rubygem-oauthUpgrade rubygem-mime-types-dataUpgrade rubygem-foreman_maintainUpgrade tfm-rubygem-hammer_cli_foremanUpgrade rubygem-highlineUpgrade tfm-rubygem-loggingUpgrade rubygem-little-pluggerUpgrade tfm-rubygem-clampUpgrade rubygem-hammer_cli_foreman_tasksUpgrade tfm-rubygem-hammer_cli_foreman_webhooksUpgrade rubygem-jwtUpgrade rubygem-clampUpgrade rubygem-fast_gettextUpgrade rubygem-rest-clientUpgrade rubygem-hammer_cli_foreman_discoveryUpgrade tfm-rubygem-highlineUpgrade rubygem-amazing_printUpgrade rubygem-loggingUpgrade foreman-cli | Jul 14, 2022 | Oct 12, 2021 |
| Rocky_linux | — | Upgrade libdb-cxxUpgrade libdb-sql-debuginfoUpgrade libdb-utils-debuginfoUpgrade libdb-debuginfoUpgrade libdb-sql-devel-debuginfoUpgrade libdb-cxx-debuginfoUpgrade libdb-debugsource | Mar 12, 2024 | Oct 12, 2021 |
| Suse | — | Upgrade ruby2.5-rubygem-puma-docUpgrade ruby2.5-rubygem-puma | Oct 26, 2022 | Oct 12, 2021 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub