Bug 1957441 (CVE-2021-22885) - CVE-2021-22885 rubygem-actionpack: Possible Information Disclosure / Unintended Method Execution in Action Pack
Summary: CVE-2021-22885 rubygem-actionpack: Possible Information Disclosure / Unintend...
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2021-22885
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1957442 1958291 1958292
Blocks: 1957445 1997390
TreeView+ depends on / blocked
 
Reported: 2021-05-05 18:57 UTC by Pedro Sampaio
Modified: 2021-12-14 18:47 UTC (History)
34 users (show)

Fixed In Version: rubygem-actionpack 6.1.3.2, rubygem-actionpack 6.0.3.7, rubygem-actionpack 5.2.4.6, rubygem-actionpack 5.2.6
Doc Type: If docs needed, set a value
Doc Text:
A flaw was found in rubygem-actionpack. Information disclosure or unintended method execution is possible when using the `redirect_to` or `polymorphic_url` helper with untrusted user input. The highest threat from this vulnerability is to data confidentiality.
Clone Of:
Environment:
Last Closed: 2021-11-13 15:50:23 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2021:4702 0 None None None 2021-11-16 14:08:09 UTC

Description Pedro Sampaio 2021-05-05 18:57:09 UTC
There is a possible information disclosure / unintended method execution
vulnerability in Action Pack which has been assigned the CVE identifier
CVE-2021-22885.

Versions Affected:  >= 2.0.0.
Not affected:       < 2.0.0.
Fixed Versions:     6.1.3.2, 6.0.3.7, 5.2.4.6, 5.2.6

Impact
------
There is a possible information disclosure / unintended method execution
vulnerability in Action Pack when using the `redirect_to` or
`polymorphic_url`
helper with untrusted user input.

Vulnerable code will look like this:

```
redirect_to(params[:some_param])
```

All users running an affected release should either upgrade or use one of
the
workarounds immediately.

Releases
--------
The FIXED releases are available at the normal locations.

Workarounds
-----------
To work around this problem, it is recommended to use an allow list for
valid
parameters passed from the user.  For example:

```
private def check(param)
  case param
  when "valid"
    param
  else
    "/"
  end
end

def index
  redirect_to(check(params[:some_param]))
end
```

Or force the user input to be cast to a string like this:

```
def index
  redirect_to(params[:some_param].to_s)
end
```

Patches
-------
To aid users who aren't able to upgrade immediately we have provided
patches for
the two supported release series. They are in git-am format and consist of a
single changeset.

* 5-2-information-disclosure.patch - Patch for 5.2 series
* 6-0-information-disclosure.patch - Patch for 6.0 series
* 6-1-information-disclosure.patch - Patch for 6.1 series

Please note that only the 5.2, 6.0, and 6.1 series are supported at
present. Users
of earlier unsupported releases are advised to upgrade as soon as possible
as we
cannot guarantee the continued availability of security fixes for
unsupported
releases.

References:

https://www.openwall.com/lists/oss-security/2021/05/05/3

Comment 1 Pedro Sampaio 2021-05-05 18:58:31 UTC
Created rubygem-actionpack tracking bugs for this issue:

Affects: fedora-all [bug 1957442]

Comment 3 Yadnyawalk Tale 2021-05-07 14:53:53 UTC
Statement:

Red Hat CloudForms is in the maintenance phase and we will not be fixing Medium/Low impact security bugs. Reference: https://access.redhat.com/support/policy/updates/cloudforms

Comment 7 errata-xmlrpc 2021-11-16 14:08:07 UTC
This issue has been addressed in the following products:

  Red Hat Satellite 6.10 for RHEL 7

Via RHSA-2021:4702 https://access.redhat.com/errata/RHSA-2021:4702


Note You need to log in before you can comment on or make changes to this bug.