CVE-2021-22903: Medium severity rubyonrails Rails vulnerability

Published May 5, 2021
·
Updated

The actionpack ruby gem before 6.1.3.2 suffers from a possible open redirect vulnerability. Specially crafted Host headers in combination with certain "allowed host" formats can cause the Host Authorization middleware in Action Pack to redirect users to a malicious website. This is similar to CVE-2021-22881. Strings in config.hosts that do not have a leading dot are converted to regular expressions without proper escaping. This causes, for example, config.hosts << "sub.example.com" to permit a request with a Host header value of sub-example.com.

Other sources

There is a possible Open Redirect Vulnerability in Action Pack.

Versions Affected: >= v6.1.0.rc2 Not affected: < v6.1.0.rc2 Fixed Versions: 6.1.3.2

Impact ------ This is similar to CVE-2021-22881. Specially crafted Host headers in combination with certain "allowed host" formats can cause the Host Authorization middleware in Action Pack to redirect users to a malicious website.

Since rails/rails@9bc7ea5, strings in config.hosts that do not have a leading dot are converted to regular expressions without proper escaping. This causes, for example, config.hosts << "sub.example.com" to permit a request with a Host header value of sub-example.com.

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

Workarounds ----------- The following monkey patch put in an initializer can be used as a workaround.

ruby class ActionDispatch::HostAuthorization::Permissions def sanitizestring(host) if host.startwith?(".") /\A(.+\.)?#{Regexp.escape(host[1..-1])}\z/i else /\A#{Regexp.escape host}\z/i end end 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.

6-1-open-redirect.patch - Patch for 6.1 series

Please note that only the 6.1.Z, 6.0.Z, and 5.2.Z 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.

Credits -------

Thanks Jonathan Hefner (https://hackerone.com/jonathanhefner) for reporting this bug!

Affected Software

3 affected componentsFixes available
rubygems/actionpack>=6.1.0.rc2<6.1.3.2
6.1.3.2
rubyonrails Rails>=6.1.1<6.1.3.2
rubyonrails Rails=6.1.0-rc2

Event History

May 5, 2021
Advisory Published
07:48 PM
Jun 11, 2021
CVE Published
via MITRE·03:49 PM
Data Sourced
via MITRE·03:49 PM
DescriptionWeakness
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is CVE-2021-22903?

CVE-2021-22903 is a possible open redirect vulnerability in Action Pack, a Ruby gem used in Ruby on Rails applications.

2

What versions of Action Pack are affected by CVE-2021-22903?

Action Pack versions >= v6.1.0.rc2 are affected by CVE-2021-22903.

3

How can I fix CVE-2021-22903?

To fix CVE-2021-22903, you should upgrade to Action Pack version 6.1.3.2 or later.

4

What is the impact of CVE-2021-22903?

CVE-2021-22903 allows for possible open redirects, potentially leading to phishing attacks or unauthorized access to sensitive information.

5

Where can I find more information about CVE-2021-22903?

You can find more information about CVE-2021-22903 on the GitHub release page, the Ruby on Rails security group on Google Groups, and the NVD (National Vulnerability Database) website.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203