[CVE-2023-28362] Possible XSS via User Supplied Values to redirect_to

Possible XSS via User Supplied Values to redirect_to

The redirect_to method in Rails allows provided values to contain characters which are not legal in an HTTP header value. This results in the potential for downstream services which enforce RFC compliance on HTTP response headers to remove the assigned Location header. This vulnerability has been assigned the CVE identifier CVE-2023-28362.

Versions Affected: All. Not affected: None Fixed Versions: 7.0.5.1, 6.1.7.4

Impact

This introduces the potential for a Cross-site-scripting (XSS) payload to be delivered on the now static redirection page. Note that this both requires user interaction and for a Rails app to be configured to allow redirects to external hosts (defaults to false in Rails >= 7.0.x).

Releases

The FIXED releases are available at the normal locations.

Workarounds

Avoid providing user supplied URLs with arbitrary schemes to the redirect_to method.

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.

  • redirect_to_location-6-1.patch - Patch for 6.1 series
  • redirect_to_location-7-0.patch - Patch for 7.0 series

Credits

Thanks to meowday and josephsurin for reporting this vulnerability.

redirect_to_location-6-1.patch (4.2 KB) redirect_to_location-7-0.patch (4.3 KB)

3 Likes