First published: Fri Feb 11 2022(Updated: )
### Impact Prior to `puma` version `5.6.2`, `puma` may not always call `close` on the response body. Rails, prior to version `7.0.2.2`, depended on the response body being closed in order for its `CurrentAttributes` implementation to work correctly. From Rails: > Under certain circumstances response bodies will not be closed, for example a bug in a webserver[1] or a bug in a Rack middleware. In the event a response is not notified of a close, ActionDispatch::Executor will not know to reset thread local state for the next request. This can lead to data being leaked to subsequent requests, especially when interacting with ActiveSupport::CurrentAttributes. The combination of these two behaviors (Puma not closing the body + Rails' Executor implementation) causes information leakage. ### Patches This problem is fixed in Puma versions 5.6.2 and 4.3.11. This problem is fixed in Rails versions 7.02.2, 6.1.4.6, 6.0.4.6, and 5.2.6.2. See: https://github.com/advisories/GHSA-wh98-p28r-vrc9 for details about the rails vulnerability Upgrading to a patched Rails _or_ Puma version fixes the vulnerability. ### Workarounds Upgrade to Rails versions 7.02.2, 6.1.4.6, 6.0.4.6, and 5.2.6.2. The [Rails CVE](https://groups.google.com/g/ruby-security-ann/c/FkTM-_7zSNA/m/K2RiMJBlBAAJ?utm_medium=email&utm_source=footer&pli=1) includes a middleware that can be used instead. ### References * Rails CVE: [CVE-2022-23633](https://groups.google.com/g/ruby-security-ann/c/FkTM-_7zSNA/m/K2RiMJBlBAAJ?utm_medium=email&utm_source=footer&pli=1) ### For more information If you have any questions or comments about this advisory: * Open an issue in [puma](https://github.com/puma/puma) * See our [security policy](https://github.com/puma/puma/security/policy)
Credit: security-advisories@github.com security-advisories@github.com
Affected Software | Affected Version | How to fix |
---|---|---|
redhat/tfm-rubygem-puma | <0:5.6.2-1.el7 | 0:5.6.2-1.el7 |
redhat/rubygem-puma | <0:5.6.2-1.el8 | 0:5.6.2-1.el8 |
Puma Puma | <4.3.11 | |
Puma Puma | >=5.0.0<5.6.2 | |
Rubyonrails Rails | >=5.0.0<5.2.6.2 | |
Rubyonrails Rails | >=6.0.0<6.0.4.6 | |
Rubyonrails Rails | >=6.1.0<6.1.4.6 | |
Rubyonrails Rails | >=7.0.0<7.0.2.2 | |
Debian Debian Linux | =9.0 | |
Debian Debian Linux | =10.0 | |
Debian Debian Linux | =11.0 | |
Fedoraproject Fedora | =35 | |
Fedoraproject Fedora | =36 | |
Fedoraproject Fedora | =37 | |
rubygems/puma | <4.3.11 | 4.3.11 |
rubygems/puma | >=5.0.0<5.6.2 | 5.6.2 |
redhat/rubygem-puma | <5.6.2 | 5.6.2 |
redhat/rubygem-puma | <4.3.11 | 4.3.11 |
redhat/rubygem-rails | <7.02.2 | 7.02.2 |
redhat/rubygem-rails | <6.1.4.6 | 6.1.4.6 |
redhat/rubygem-rails | <6.0.4.6 | 6.0.4.6 |
redhat/rubygem-rails | <5.2.6.2 | 5.2.6.2 |
ubuntu/puma | <3.12.4-1ubuntu2+ | 3.12.4-1ubuntu2+ |
ubuntu/puma | <5.5.2-2ubuntu2+ | 5.5.2-2ubuntu2+ |
debian/puma | <=3.12.0-2+deb10u2<=4.3.8-1 | 3.12.0-2+deb10u3 4.3.8-1+deb11u2 5.6.5-3 6.4.2-4 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2022-23634 is a vulnerability found in Puma and Rails rubygems that allows the response body to remain unclosed under certain situations.
The vulnerability impacts Puma versions prior to 5.6.2 and Rails versions prior to 7.0.2.2, causing the response body to not be closed properly and affecting Rails' CurrentAttributes implementation.
To fix CVE-2022-23634, ensure that you are using Puma version 5.6.2 or later and Rails version 7.0.2.2 or later.
CVE-2022-23634 has a severity rating of high.
You can find more information about CVE-2022-23634 on CVE.org, NVD, GitHub, Red Hat Bugzilla, and Red Hat Access.