// For flags

CVE-2022-23634

Information Exposure when using Puma with Rails

Severity Score

5.9
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

Puma is a Ruby/Rack web server built for parallelism. 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. The combination of these two behaviors (Puma not closing the body + Rails' Executor implementation) causes information leakage. 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. Upgrading to a patched Rails _or_ Puma version fixes the vulnerability.

Puma es un servidor web Ruby/Rack construido para el paralelismo. versiones anteriores a "puma" "5.6.2", "puma" no siempre llamaba a "close" en el cuerpo de la respuesta. Rails, versiones anteriores a "7.0.2.2", dependía de que el cuerpo de la respuesta estuviera cerrado para que su implementación de "CurrentAttributes" funcionara correctamente. La combinación de estos dos comportamientos (que Puma no cierre el cuerpo + la implementación del ejecutor de Rails) causa un filtrado de información. Este problema ha sido solucionado en Puma versiones 5.6.2 y 4.3.11. Este problema se ha solucionado en las versiones de Rails versiones 7.02.2, 6.1.4.6, 6.0.4.6 y 5.2.6.2. La actualización a una versión parcheada de Rails _o_ de Puma corrige esta vulnerabilidad

A flaw was found in Puma and Rails rubygems when response bodies were not closed under certain situations. This flaw allows an attacker, by iterating certain requests, to take advantage of this issue and affect CurrentAttributes, leading to leaked data.

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
None
Attack Vector
Network
Attack Complexity
Medium
Authentication
None
Confidentiality
Partial
Integrity
None
Availability
None
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2022-01-19 CVE Reserved
  • 2022-02-11 CVE Published
  • 2024-08-03 CVE Updated
  • 2024-09-17 EPSS Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
  • CWE-359: Exposure of Private Personal Information to an Unauthorized Actor
  • CWE-404: Improper Resource Shutdown or Release
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Puma
Search vendor "Puma"
Puma
Search vendor "Puma" for product "Puma"
< 4.3.11
Search vendor "Puma" for product "Puma" and version " < 4.3.11"
ruby
Affected
Puma
Search vendor "Puma"
Puma
Search vendor "Puma" for product "Puma"
>= 5.0.0 < 5.6.2
Search vendor "Puma" for product "Puma" and version " >= 5.0.0 < 5.6.2"
ruby
Affected
Rubyonrails
Search vendor "Rubyonrails"
Rails
Search vendor "Rubyonrails" for product "Rails"
>= 5.0.0 < 5.2.6.2
Search vendor "Rubyonrails" for product "Rails" and version " >= 5.0.0 < 5.2.6.2"
-
Affected
Rubyonrails
Search vendor "Rubyonrails"
Rails
Search vendor "Rubyonrails" for product "Rails"
>= 6.0.0 < 6.0.4.6
Search vendor "Rubyonrails" for product "Rails" and version " >= 6.0.0 < 6.0.4.6"
-
Affected
Rubyonrails
Search vendor "Rubyonrails"
Rails
Search vendor "Rubyonrails" for product "Rails"
>= 6.1.0 < 6.1.4.6
Search vendor "Rubyonrails" for product "Rails" and version " >= 6.1.0 < 6.1.4.6"
-
Affected
Rubyonrails
Search vendor "Rubyonrails"
Rails
Search vendor "Rubyonrails" for product "Rails"
>= 7.0.0 < 7.0.2.2
Search vendor "Rubyonrails" for product "Rails" and version " >= 7.0.0 < 7.0.2.2"
-
Affected
Debian
Search vendor "Debian"
Debian Linux
Search vendor "Debian" for product "Debian Linux"
9.0
Search vendor "Debian" for product "Debian Linux" and version "9.0"
-
Affected
Debian
Search vendor "Debian"
Debian Linux
Search vendor "Debian" for product "Debian Linux"
10.0
Search vendor "Debian" for product "Debian Linux" and version "10.0"
-
Affected
Debian
Search vendor "Debian"
Debian Linux
Search vendor "Debian" for product "Debian Linux"
11.0
Search vendor "Debian" for product "Debian Linux" and version "11.0"
-
Affected
Fedoraproject
Search vendor "Fedoraproject"
Fedora
Search vendor "Fedoraproject" for product "Fedora"
35
Search vendor "Fedoraproject" for product "Fedora" and version "35"
-
Affected
Fedoraproject
Search vendor "Fedoraproject"
Fedora
Search vendor "Fedoraproject" for product "Fedora"
36
Search vendor "Fedoraproject" for product "Fedora" and version "36"
-
Affected
Fedoraproject
Search vendor "Fedoraproject"
Fedora
Search vendor "Fedoraproject" for product "Fedora"
37
Search vendor "Fedoraproject" for product "Fedora" and version "37"
-
Affected