logo

CVE-2022-23633 actionpack

Package

Manager: gem
Name: actionpack
Vulnerable Version: >=5.0.0.0 <5.2.6.2 || >=6.0.0.0 <6.0.4.6 || >=6.1.0.0 <6.1.4.6 || >=7.0.0.0 <7.0.2.2

Severity

Level: High

CVSS v3.1: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N

CVSS v4.0: CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

EPSS: 0.00271 pctl0.5026

Details

Exposure of information in Action Pack ### Impact Under certain circumstances response bodies will not be closed, for example a [bug in a webserver](https://github.com/puma/puma/pull/2812) 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`. Upgrading to the FIXED versions of Rails will ensure mitigation of this issue even in the context of a buggy webserver or middleware implementation. ### Patches This has been fixed in Rails 7.0.2.2, 6.1.4.6, 6.0.4.6, and 5.2.6.2. ### Workarounds Upgrading is highly recommended, but to work around this problem the following middleware can be used: ```ruby class GuardedExecutor < ActionDispatch::Executor def call(env) ensure_completed! super end private def ensure_completed! @executor.new.complete! if @executor.active? end end # Ensure the guard is inserted before ActionDispatch::Executor Rails.application.configure do config.middleware.swap ActionDispatch::Executor, GuardedExecutor, executor end ```

Metadata

Created: 2022-02-11T20:49:14Z
Modified: 2022-02-24T13:15:43Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/02/GHSA-wh98-p28r-vrc9/GHSA-wh98-p28r-vrc9.json
CWE IDs: ["CWE-200", "CWE-212"]
Alternative ID: GHSA-wh98-p28r-vrc9
Finding: F017
Auto approve: 1