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-fast_gettextUpgrade tfm-rubygem-hammer_cliUpgrade rubygem-unfUpgrade rubygem-apipie-bindingsUpgrade rubygem-localeUpgrade rubygem-hammer_cli_foreman_bootdiskUpgrade rubygem-unicode-debugsourceUpgrade rubygem-hammer_cli_foreman_azure_rmUpgrade tfm-rubygem-multi_jsonUpgrade tfm-rubygem-hammer_cli_katelloUpgrade tfm-rubygem-rest-clientUpgrade tfm-rubygem-hammer_cli_foreman_bootdiskUpgrade rubygem-hammer_cli_katelloUpgrade tfm-rubygem-unfUpgrade rubygem-unf_extUpgrade rubygem-powerbarUpgrade rubygem-unf_ext-debuginfoUpgrade rubygem-multi_jsonUpgrade rubygem-domain_nameUpgrade tfm-runtimeUpgrade tfm-rubygem-unicode-debuginfoUpgrade tfm-rubygem-little-pluggerUpgrade tfm-rubygem-http-cookieUpgrade tfm-rubygem-hammer_cli_foreman_templatesUpgrade tfm-rubygem-hammer_cli_foreman_adminUpgrade tfm-rubygem-amazing_printUpgrade rubygem-mime-typesUpgrade satellite-cloneUpgrade satellite-cliUpgrade rubygem-http-cookieUpgrade tfm-rubygem-hammer_cli_foreman_virt_who_configureUpgrade tfm-rubygem-unf_extUpgrade tfm-rubygem-apipie-bindingsUpgrade tfm-rubygem-hammer_cli_foreman_azure_rmUpgrade rubygem-hammer_cli_foreman_discoveryUpgrade tfm-rubygem-powerbarUpgrade tfm-rubygem-hammer_cli_foreman_ansibleUpgrade rubygem-hammer_cli_foreman_adminUpgrade rubygem-unicodeUpgrade rubygem-hammer_cli_foreman_openscapUpgrade rubygem-fast_gettextUpgrade rubygem-mime-types-dataUpgrade rubygem-hammer_cli_foreman_virt_who_configureUpgrade tfm-rubygem-oauthUpgrade rubygem-hammer_cli_foreman_ansibleUpgrade tfm-rubygem-hammer_cli_foreman_tasksUpgrade rubygem-amazing_printUpgrade tfm-rubygem-unicodeUpgrade tfm-rubygem-mime-typesUpgrade tfm-rubygem-hammer_cli_foreman_openscapUpgrade tfm-rubygem-clampUpgrade rubygem-oauthUpgrade rubygem-unf_ext-debugsourceUpgrade rubygem-little-pluggerUpgrade tfm-rubygem-unf_ext-debuginfoUpgrade rubygem-highlineUpgrade tfm-rubygem-netrcUpgrade rubygem-netrcUpgrade rubygem-hammer_cli_foremanUpgrade rubygem-hammer_cli_foreman_templatesUpgrade tfm-rubygem-highlineUpgrade rubygem-hashieUpgrade tfm-rubygem-hammer_cli_foremanUpgrade rubygem-foreman_maintainUpgrade tfm-rubygem-hammer_cli_foreman_webhooksUpgrade tfm-rubygem-mime-types-dataUpgrade tfm-rubygem-jwtUpgrade tfm-rubygem-domain_nameUpgrade rubygem-jwtUpgrade rubygem-hammer_cliUpgrade rubygem-rest-clientUpgrade rubygem-unicode-display_widthUpgrade tfm-rubygem-unicode-display_widthUpgrade tfm-rubygem-loggingUpgrade tfm-rubygem-hammer_cli_foreman_remote_executionUpgrade rubygem-hammer_cli_foreman_webhooksUpgrade rubygem-hammer_cli_foreman_tasksUpgrade foreman-cliUpgrade tfm-rubygem-hashieUpgrade rubygem-loggingUpgrade tfm-rubygem-localeUpgrade rubygem-unicode-debuginfoUpgrade tfm-rubygem-hammer_cli_foreman_discoveryUpgrade satellite-maintainUpgrade rubygem-clampUpgrade rubygem-hammer_cli_foreman_remote_execution | 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-apipie-bindingsUpgrade tfm-rubygem-unf_extUpgrade tfm-rubygem-hammer_cli_foreman_tasksUpgrade tfm-rubygem-localeUpgrade tfm-rubygem-amazing_printUpgrade tfm-rubygem-hammer_cli_foreman_templatesUpgrade rubygem-hammer_cli_foreman_bootdiskUpgrade tfm-runtimeUpgrade rubygem-mime-typesUpgrade rubygem-hammer_cli_foremanUpgrade rubygem-powerbarUpgrade rubygem-domain_nameUpgrade rubygem-hashieUpgrade tfm-rubygem-apipie-bindingsUpgrade tfm-rubygem-hammer_cli_foreman_openscapUpgrade tfm-rubygem-http-cookieUpgrade satellite-cliUpgrade tfm-rubygem-hashieUpgrade rubygem-hammer_cli_foreman_azure_rmUpgrade tfm-rubygem-fast_gettextUpgrade rubygem-unf_ext-debugsourceUpgrade tfm-rubygem-unfUpgrade rubygem-unf_extUpgrade tfm-rubygem-netrcUpgrade tfm-rubygem-jwtUpgrade tfm-rubygem-unicode-debuginfoUpgrade rubygem-hammer_cli_foreman_adminUpgrade rubygem-hammer_cli_katelloUpgrade tfm-rubygem-hammer_cli_foreman_remote_executionUpgrade rubygem-http-cookieUpgrade rubygem-unicode-display_widthUpgrade tfm-rubygem-mime-typesUpgrade rubygem-unicodeUpgrade satellite-cloneUpgrade rubygem-hammer_cli_foreman_openscapUpgrade rubygem-hammer_cli_foreman_virt_who_configureUpgrade tfm-rubygem-unicodeUpgrade tfm-rubygem-unf_ext-debuginfoUpgrade satellite-maintainUpgrade tfm-rubygem-oauthUpgrade tfm-rubygem-hammer_cli_foreman_bootdiskUpgrade tfm-rubygem-rest-clientUpgrade rubygem-unf_ext-debuginfoUpgrade tfm-rubygem-multi_jsonUpgrade tfm-rubygem-hammer_cliUpgrade tfm-rubygem-hammer_cli_foreman_ansibleUpgrade tfm-rubygem-powerbarUpgrade tfm-rubygem-hammer_cli_foreman_azure_rmUpgrade tfm-rubygem-hammer_cli_foreman_virt_who_configureUpgrade rubygem-hammer_cli_foreman_templatesUpgrade tfm-rubygem-hammer_cli_foreman_adminUpgrade rubygem-hammer_cli_foreman_ansibleUpgrade rubygem-netrcUpgrade rubygem-multi_jsonUpgrade rubygem-rest-clientUpgrade rubygem-hammer_cli_foreman_webhooksUpgrade tfm-rubygem-hammer_cli_katelloUpgrade rubygem-mime-types-dataUpgrade tfm-rubygem-hammer_cli_foremanUpgrade tfm-rubygem-little-pluggerUpgrade rubygem-hammer_cli_foreman_discoveryUpgrade tfm-rubygem-hammer_cli_foreman_webhooksUpgrade rubygem-fast_gettextUpgrade rubygem-hammer_cliUpgrade rubygem-oauthUpgrade rubygem-unfUpgrade rubygem-highlineUpgrade rubygem-foreman_maintainUpgrade tfm-rubygem-hammer_cli_foreman_discoveryUpgrade tfm-rubygem-unicode-display_widthUpgrade rubygem-unicode-debugsourceUpgrade tfm-rubygem-clampUpgrade tfm-rubygem-domain_nameUpgrade rubygem-hammer_cli_foreman_tasksUpgrade rubygem-unicode-debuginfoUpgrade rubygem-little-pluggerUpgrade tfm-rubygem-loggingUpgrade rubygem-clampUpgrade tfm-rubygem-highlineUpgrade rubygem-loggingUpgrade rubygem-amazing_printUpgrade rubygem-hammer_cli_foreman_remote_executionUpgrade foreman-cliUpgrade rubygem-jwtUpgrade rubygem-localeUpgrade tfm-rubygem-mime-types-data | Jul 14, 2022 | Oct 12, 2021 |
| Rocky_linux | — | Upgrade libdb-utils-debuginfoUpgrade libdb-cxx-debuginfoUpgrade libdb-debuginfoUpgrade libdb-sql-debuginfoUpgrade libdb-cxxUpgrade libdb-sql-devel-debuginfoUpgrade libdb-debugsource | Mar 12, 2024 | Oct 12, 2021 |
| Suse | — | Upgrade ruby2.5-rubygem-pumaUpgrade ruby2.5-rubygem-puma-doc | 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