Ruby/rails/7.0.0


Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.

https://rubygems.org/gems/rails
MIT

2 Security Vulnerabilities

Rails has possible Sensitive Session Information Leak in Active Storage

Published date: 2024-02-27T21:41:16Z
CVE: CVE-2024-26144
Links:

Possible Sensitive Session Information Leak in Active Storage

There is a possible sensitive session information leak in Active Storage. By default, Active Storage sends a Set-Cookie header along with the user's session cookie when serving blobs. It also sets Cache-Control to public. Certain proxies may cache the Set-Cookie, leading to an information leak.

This vulnerability has been assigned the CVE identifier CVE-2024-26144.

Versions Affected: >= 5.2.0, < 7.1.0 Not affected: < 5.2.0, > 7.1.0 Fixed Versions: 7.0.8.1, 6.1.7.7

Impact

A proxy which chooses to caches this request can cause users to share sessions. This may include a user receiving an attacker's session or vice versa.

This was patched in 7.1.0 but not previously identified as a security vulnerability.

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

Upgrade to Rails 7.1.X, or configure caching proxies not to cache the Set-Cookie headers.

Credits

Thanks to tyage for reporting this!

Affected versions: ["7.0.0", "7.0.1", "7.0.2", "7.0.2.2", "7.0.2.1", "7.0.2.3", "7.0.2.4", "7.0.3", "7.0.3.1", "7.0.4", "7.0.4.1", "7.0.4.2", "7.0.4.3", "7.0.5", "7.0.5.1", "7.0.6", "7.0.7", "7.0.7.2", "7.0.7.1", "7.0.8", "6.1.0.rc1", "6.0.3.4", "6.0.3.3", "6.0.3.2", "6.0.3.1", "6.0.3", "6.0.3.rc1", "6.0.2.2", "6.0.2.1", "6.0.2", "6.0.2.rc2", "6.0.2.rc1", "6.0.1", "6.0.1.rc1", "6.0.0", "6.0.0.rc2", "6.0.0.rc1", "6.0.0.beta3", "6.0.0.beta2", "6.0.0.beta1", "5.2.4.4", "5.2.4.3", "5.2.4.2", "5.2.4.1", "5.2.4", "5.2.4.rc1", "5.2.3", "5.2.3.rc1", "5.2.2.1", "5.2.2", "5.2.2.rc1", "5.2.1.1", "5.2.1", "5.2.1.rc1", "5.2.0", "6.1.0.rc2", "6.1.0", "6.1.1", "6.1.2", "6.1.2.1", "6.0.3.5", "5.2.4.5", "6.1.3", "6.1.3.1", "6.0.3.6", "5.2.5", "6.1.3.2", "6.0.3.7", "5.2.6", "5.2.4.6", "6.0.4", "6.1.4", "6.1.4.1", "6.0.4.1", "6.1.4.3", "6.1.4.2", "6.0.4.3", "6.0.4.2", "6.1.4.4", "6.0.4.4", "6.1.4.6", "6.1.4.5", "6.0.4.6", "6.0.4.5", "5.2.6.2", "5.2.6.1", "6.0.4.7", "5.2.6.3", "6.1.4.7", "6.1.5", "5.2.7", "6.1.5.1", "6.0.4.8", "5.2.7.1", "6.1.6", "6.0.5", "5.2.8", "6.1.6.1", "6.0.5.1", "5.2.8.1", "6.1.7", "6.0.6", "6.1.7.1", "6.0.6.1", "6.1.7.2", "6.1.7.3", "6.1.7.4", "6.1.7.6", "6.1.7.5"]
Secure versions: [5.2.0.rc2, 5.2.0.rc1, 5.2.0.beta2, 5.2.0.beta1, 5.1.7, 5.1.7.rc1, 5.1.6.2, 5.1.6.1, 5.1.6, 5.1.5, 5.1.5.rc1, 5.1.4, 5.1.4.rc1, 5.1.3, 5.1.3.rc3, 5.1.3.rc2, 5.1.3.rc1, 5.1.2, 5.1.2.rc1, 5.1.1, 5.1.0, 5.1.0.rc2, 5.1.0.rc1, 5.1.0.beta1, 5.0.7.2, 5.0.7.1, 5.0.7, 5.0.6, 5.0.6.rc1, 5.0.5, 5.0.5.rc2, 5.0.5.rc1, 5.0.4, 5.0.4.rc1, 5.0.3, 5.0.2, 5.0.2.rc1, 5.0.1, 5.0.1.rc2, 5.0.1.rc1, 5.0.0.1, 5.0.0, 5.0.0.rc2, 5.0.0.rc1, 5.0.0.racecar1, 5.0.0.beta4, 5.0.0.beta3, 5.0.0.beta2, 5.0.0.beta1.1, 5.0.0.beta1, 4.2.11.3, 4.2.11.2, 4.2.11.1, 4.2.11, 4.2.10, 4.2.10.rc1, 4.2.9, 4.2.9.rc2, 4.2.9.rc1, 4.2.8, 4.2.8.rc1, 4.2.7.1, 4.2.7, 4.2.7.rc1, 4.2.6, 4.2.6.rc1, 4.2.5.2, 4.2.5.1, 4.2.5, 4.2.5.rc2, 4.2.5.rc1, 4.2.4, 4.2.4.rc1, 4.2.3, 4.2.3.rc1, 4.2.2, 4.2.1, 4.2.1.rc4, 4.2.1.rc3, 4.2.1.rc2, 4.2.1.rc1, 4.2.0, 4.2.0.rc3, 4.2.0.rc2, 4.2.0.rc1, 4.2.0.beta4, 4.2.0.beta3, 4.2.0.beta2, 4.2.0.beta1, 4.1.16, 4.1.16.rc1, 4.1.15, 4.1.15.rc1, 4.1.14.2, 4.1.14.1, 4.1.14, 4.1.14.rc2, 4.1.14.rc1, 4.1.13, 4.1.13.rc1, 4.1.12, 4.1.12.rc1, 4.1.11, 4.1.10, 4.1.10.rc4, 4.1.10.rc3, 4.1.10.rc2, 4.1.10.rc1, 4.1.9, 4.1.9.rc1, 4.1.8, 4.1.7.1, 4.1.7, 4.1.6, 4.1.6.rc2, 4.1.6.rc1, 4.1.5, 4.1.4, 4.1.3, 4.1.2, 4.1.2.rc3, 4.1.2.rc2, 4.1.2.rc1, 4.1.1, 4.1.0, 4.1.0.rc2, 4.1.0.rc1, 4.1.0.beta2, 4.1.0.beta1, 4.0.13, 4.0.13.rc1, 4.0.12, 4.0.11.1, 4.0.11, 4.0.10, 4.0.10.rc2, 4.0.10.rc1, 4.0.9, 4.0.8, 4.0.7, 4.0.6, 4.0.6.rc3, 4.0.6.rc2, 4.0.6.rc1, 4.0.5, 4.0.4, 4.0.4.rc1, 4.0.3, 4.0.0.rc2, 4.0.0.rc1, 4.0.0.beta1, 3.2.22.5, 3.2.22.4, 3.2.22.3, 3.2.22.2, 3.2.22.1, 3.2.22, 3.2.21, 3.2.20, 3.2.19, 3.2.18, 3.2.17, 7.0.0.alpha2, 7.0.0.alpha1, 7.0.0.rc1, 7.0.0.rc3, 7.0.0.rc2, 7.1.0.beta1, 7.1.0.rc1, 7.1.0.rc2, 7.1.3.2, 7.1.3.1, 7.0.8.1, 6.1.7.7, 7.1.3.3, 7.0.8.2, 7.0.8.3, 7.2.0.beta1, 7.2.0.beta2, 7.1.3.4, 7.0.8.4, 6.1.7.8, 7.2.0.beta3]
Recommendation: Update to version 7.1.3.4.

Rails has possible XSS Vulnerability in Action Controller

Published date: 2024-02-27T21:41:12Z
CVE: CVE-2024-26143
Links:

Possible XSS Vulnerability in Action Controller

There is a possible XSS vulnerability when using the translation helpers (translate, t, etc) in Action Controller. This vulnerability has been assigned the CVE identifier CVE-2024-26143.

Versions Affected: >= 7.0.0. Not affected: < 7.0.0 Fixed Versions: 7.1.3.1, 7.0.8.1

Impact

Applications using translation methods like translate, or t on a controller, with a key ending in _html, a :default key which contains untrusted user input, and the resulting string is used in a view, may be susceptible to an XSS vulnerability.

For example, impacted code will look something like this:

class ArticlesController < ApplicationController
  def show  
    @message = t("message_html", default: untrusted_input)
    # The `show` template displays the contents of `@message`
  end
end

To reiterate the pre-conditions, applications must:

  • Use a translation function from a controller (i.e. not I18n.t, or t from a view)
  • Use a key that ends in _html
  • Use a default value where the default value is untrusted and unescaped input
  • Send the text to the victim (whether that's part of a template, or a render call)

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

There are no feasible workarounds for this issue.

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.

  • 7-0-translate-xss.patch - Patch for 7.0 series
  • 7-1-translate-xss.patch - Patch for 7.1 series

Credits

Thanks to ooooooo_q for the patch and fix!

Affected versions: ["7.1.0", "7.1.1", "7.1.2", "7.1.3", "7.0.0", "7.0.1", "7.0.2", "7.0.2.2", "7.0.2.1", "7.0.2.3", "7.0.2.4", "7.0.3", "7.0.3.1", "7.0.4", "7.0.4.1", "7.0.4.2", "7.0.4.3", "7.0.5", "7.0.5.1", "7.0.6", "7.0.7", "7.0.7.2", "7.0.7.1", "7.0.8"]
Secure versions: [5.2.0.rc2, 5.2.0.rc1, 5.2.0.beta2, 5.2.0.beta1, 5.1.7, 5.1.7.rc1, 5.1.6.2, 5.1.6.1, 5.1.6, 5.1.5, 5.1.5.rc1, 5.1.4, 5.1.4.rc1, 5.1.3, 5.1.3.rc3, 5.1.3.rc2, 5.1.3.rc1, 5.1.2, 5.1.2.rc1, 5.1.1, 5.1.0, 5.1.0.rc2, 5.1.0.rc1, 5.1.0.beta1, 5.0.7.2, 5.0.7.1, 5.0.7, 5.0.6, 5.0.6.rc1, 5.0.5, 5.0.5.rc2, 5.0.5.rc1, 5.0.4, 5.0.4.rc1, 5.0.3, 5.0.2, 5.0.2.rc1, 5.0.1, 5.0.1.rc2, 5.0.1.rc1, 5.0.0.1, 5.0.0, 5.0.0.rc2, 5.0.0.rc1, 5.0.0.racecar1, 5.0.0.beta4, 5.0.0.beta3, 5.0.0.beta2, 5.0.0.beta1.1, 5.0.0.beta1, 4.2.11.3, 4.2.11.2, 4.2.11.1, 4.2.11, 4.2.10, 4.2.10.rc1, 4.2.9, 4.2.9.rc2, 4.2.9.rc1, 4.2.8, 4.2.8.rc1, 4.2.7.1, 4.2.7, 4.2.7.rc1, 4.2.6, 4.2.6.rc1, 4.2.5.2, 4.2.5.1, 4.2.5, 4.2.5.rc2, 4.2.5.rc1, 4.2.4, 4.2.4.rc1, 4.2.3, 4.2.3.rc1, 4.2.2, 4.2.1, 4.2.1.rc4, 4.2.1.rc3, 4.2.1.rc2, 4.2.1.rc1, 4.2.0, 4.2.0.rc3, 4.2.0.rc2, 4.2.0.rc1, 4.2.0.beta4, 4.2.0.beta3, 4.2.0.beta2, 4.2.0.beta1, 4.1.16, 4.1.16.rc1, 4.1.15, 4.1.15.rc1, 4.1.14.2, 4.1.14.1, 4.1.14, 4.1.14.rc2, 4.1.14.rc1, 4.1.13, 4.1.13.rc1, 4.1.12, 4.1.12.rc1, 4.1.11, 4.1.10, 4.1.10.rc4, 4.1.10.rc3, 4.1.10.rc2, 4.1.10.rc1, 4.1.9, 4.1.9.rc1, 4.1.8, 4.1.7.1, 4.1.7, 4.1.6, 4.1.6.rc2, 4.1.6.rc1, 4.1.5, 4.1.4, 4.1.3, 4.1.2, 4.1.2.rc3, 4.1.2.rc2, 4.1.2.rc1, 4.1.1, 4.1.0, 4.1.0.rc2, 4.1.0.rc1, 4.1.0.beta2, 4.1.0.beta1, 4.0.13, 4.0.13.rc1, 4.0.12, 4.0.11.1, 4.0.11, 4.0.10, 4.0.10.rc2, 4.0.10.rc1, 4.0.9, 4.0.8, 4.0.7, 4.0.6, 4.0.6.rc3, 4.0.6.rc2, 4.0.6.rc1, 4.0.5, 4.0.4, 4.0.4.rc1, 4.0.3, 4.0.0.rc2, 4.0.0.rc1, 4.0.0.beta1, 3.2.22.5, 3.2.22.4, 3.2.22.3, 3.2.22.2, 3.2.22.1, 3.2.22, 3.2.21, 3.2.20, 3.2.19, 3.2.18, 3.2.17, 7.0.0.alpha2, 7.0.0.alpha1, 7.0.0.rc1, 7.0.0.rc3, 7.0.0.rc2, 7.1.0.beta1, 7.1.0.rc1, 7.1.0.rc2, 7.1.3.2, 7.1.3.1, 7.0.8.1, 6.1.7.7, 7.1.3.3, 7.0.8.2, 7.0.8.3, 7.2.0.beta1, 7.2.0.beta2, 7.1.3.4, 7.0.8.4, 6.1.7.8, 7.2.0.beta3]
Recommendation: Update to version 7.1.3.4.

474 Other Versions

Version License Security Released
3.2.19 MIT 2014-07-02 - 17:02 about 10 years
3.2.18 MIT 2014-05-06 - 16:17 about 10 years
3.2.17 MIT 2014-02-18 - 18:54 over 10 years
3.2.16 MIT 1 2013-12-03 - 19:01 over 10 years
3.2.15 MIT 1 2013-10-16 - 17:23 almost 11 years
3.2.15.rc3 MIT 1 2013-10-11 - 21:17 almost 11 years
3.2.15.rc2 MIT 1 2013-10-04 - 20:48 almost 11 years
3.2.15.rc1 MIT 1 2013-10-03 - 18:54 almost 11 years
3.2.14 MIT 1 2013-07-22 - 16:44 almost 11 years
3.2.14.rc2 MIT 1 2013-07-16 - 16:13 about 11 years
3.2.14.rc1 MIT 1 2013-07-13 - 00:25 about 11 years
3.2.13 UNKNOWN 1 2013-03-18 - 17:13 over 11 years
3.2.13.rc2 UNKNOWN 1 2013-03-06 - 23:06 over 11 years
3.2.13.rc1 UNKNOWN 1 2013-02-27 - 20:25 over 11 years
3.2.12 UNKNOWN 1 2013-02-11 - 18:17 over 11 years
3.2.11 UNKNOWN 1 2013-01-08 - 20:08 over 11 years
3.2.10 UNKNOWN 1 2013-01-02 - 21:20 over 11 years
3.2.9 UNKNOWN 1 2012-11-12 - 15:21 over 11 years
3.2.9.rc3 UNKNOWN 1 2012-11-09 - 18:00 over 11 years
3.2.9.rc2 UNKNOWN 1 2012-11-01 - 17:39 over 11 years
3.2.9.rc1 UNKNOWN 1 2012-10-29 - 17:07 over 11 years
3.2.8 UNKNOWN 1 2012-08-09 - 21:23 almost 12 years
3.2.8.rc2 UNKNOWN 1 2012-08-03 - 14:29 almost 12 years
3.2.8.rc1 UNKNOWN 1 2012-08-01 - 20:57 almost 12 years
3.2.7 UNKNOWN 1 2012-07-26 - 22:09 almost 12 years
3.2.7.rc1 UNKNOWN 1 2012-07-23 - 21:45 almost 12 years
3.2.6 UNKNOWN 1 2012-06-12 - 21:26 about 12 years
3.2.5 UNKNOWN 1 2012-06-01 - 03:39 about 12 years
3.2.4 UNKNOWN 1 2012-05-31 - 18:25 about 12 years
3.2.4.rc1 UNKNOWN 1 2012-05-28 - 19:01 about 12 years
3.2.3 UNKNOWN 1 2012-03-30 - 22:26 over 12 years
3.2.3.rc2 UNKNOWN 1 2012-03-29 - 16:14 over 12 years
3.2.3.rc1 UNKNOWN 1 2012-03-27 - 17:11 over 12 years
3.2.2 UNKNOWN 1 2012-03-01 - 17:52 over 12 years
3.2.2.rc1 UNKNOWN 1 2012-02-22 - 21:39 over 12 years
3.2.1 UNKNOWN 1 2012-01-26 - 23:09 over 12 years
3.2.0 UNKNOWN 1 2012-01-20 - 16:47 over 12 years
3.2.0.rc2 UNKNOWN 1 2012-01-04 - 21:05 over 12 years
3.2.0.rc1 UNKNOWN 1 2011-12-20 - 00:41 over 12 years
3.1.12 UNKNOWN 2 2013-03-18 - 17:13 over 11 years
3.1.11 UNKNOWN 2 2013-02-11 - 18:17 over 11 years
3.1.10 UNKNOWN 2 2013-01-08 - 20:08 over 11 years
3.1.9 UNKNOWN 2 2013-01-02 - 21:19 over 11 years
3.1.8 UNKNOWN 2 2012-08-09 - 21:20 almost 12 years
3.1.7 UNKNOWN 2 2012-07-26 - 22:09 almost 12 years
3.1.6 UNKNOWN 2 2012-06-12 - 21:26 about 12 years
3.1.5 UNKNOWN 2 2012-05-31 - 18:25 about 12 years
3.1.5.rc1 UNKNOWN 2 2012-05-28 - 19:01 about 12 years
3.1.4 UNKNOWN 2 2012-03-01 - 17:52 over 12 years
3.1.4.rc1 UNKNOWN 2 2012-02-22 - 21:39 over 12 years
3.1.3 UNKNOWN 2 2011-11-20 - 22:52 over 12 years
3.1.2 UNKNOWN 2 2011-11-18 - 01:33 over 12 years
3.1.2.rc2 UNKNOWN 3 2011-11-14 - 15:49 over 12 years
3.1.2.rc1 UNKNOWN 3 2011-11-14 - 14:17 over 12 years
3.1.1 UNKNOWN 3 2011-10-07 - 15:30 almost 13 years
3.1.1.rc3 UNKNOWN 3 2011-10-06 - 02:31 almost 13 years
3.1.1.rc2 UNKNOWN 3 2011-09-29 - 22:17 almost 13 years
3.1.1.rc1 UNKNOWN 3 2011-09-15 - 00:27 almost 13 years
3.1.0 UNKNOWN 3 2011-08-31 - 02:18 almost 13 years
3.1.0.rc8 UNKNOWN 2 2011-08-29 - 03:27 almost 13 years
3.1.0.rc6 UNKNOWN 2 2011-08-16 - 22:33 almost 13 years
3.1.0.rc5 UNKNOWN 2 2011-07-25 - 23:05 almost 13 years
3.1.0.rc4 UNKNOWN 2 2011-06-09 - 22:56 about 13 years
3.1.0.rc3 UNKNOWN 2 2011-06-08 - 21:27 about 13 years
3.1.0.rc2 UNKNOWN 2 2011-06-08 - 00:16 about 13 years
3.1.0.rc1 UNKNOWN 2 2011-05-22 - 02:26 about 13 years
3.1.0.beta1 UNKNOWN 2 2011-05-05 - 01:23 about 13 years
3.0.20 UNKNOWN 2 2013-01-28 - 21:01 over 11 years
3.0.19 UNKNOWN 2 2013-01-08 - 20:08 over 11 years
3.0.18 UNKNOWN 2 2013-01-02 - 21:19 over 11 years
3.0.17 UNKNOWN 2 2012-08-09 - 21:16 almost 12 years
3.0.16 UNKNOWN 2 2012-07-26 - 22:08 almost 12 years
3.0.15 UNKNOWN 2 2012-06-13 - 03:07 about 12 years
3.0.14 UNKNOWN 2 2012-06-12 - 21:26 about 12 years
3.0.13 UNKNOWN 2 2012-05-31 - 18:24 about 12 years
3.0.13.rc1 UNKNOWN 2 2012-05-28 - 19:01 about 12 years
3.0.12 UNKNOWN 2 2012-03-01 - 17:52 over 12 years
3.0.12.rc1 UNKNOWN 2 2012-02-22 - 21:39 over 12 years
3.0.11 UNKNOWN 2 2011-11-18 - 01:23 over 12 years
3.0.10 UNKNOWN 3 2011-08-16 - 22:14 almost 13 years
3.0.10.rc1 UNKNOWN 3 2011-08-05 - 00:12 almost 13 years
3.0.9 UNKNOWN 3 2011-06-16 - 10:05 about 13 years
3.0.9.rc5 UNKNOWN 3 2011-06-12 - 21:30 about 13 years
3.0.9.rc4 UNKNOWN 3 2011-06-12 - 21:24 about 13 years
3.0.9.rc3 UNKNOWN 3 2011-06-09 - 22:51 about 13 years
3.0.9.rc1 UNKNOWN 3 2011-06-08 - 21:20 about 13 years
3.0.8 UNKNOWN 3 2011-06-08 - 00:16 about 13 years
3.0.8.rc4 UNKNOWN 3 2011-05-31 - 00:08 about 13 years
3.0.8.rc2 UNKNOWN 3 2011-05-27 - 16:32 about 13 years
3.0.8.rc1 UNKNOWN 3 2011-05-26 - 00:11 about 13 years
3.0.7 UNKNOWN 3 2011-04-18 - 21:05 over 13 years
3.0.7.rc2 UNKNOWN 4 2011-04-15 - 17:33 over 13 years
3.0.7.rc1 UNKNOWN 4 2011-04-14 - 21:57 over 13 years
3.0.6 UNKNOWN 4 2011-04-05 - 23:05 over 13 years
3.0.6.rc2 UNKNOWN 5 2011-03-31 - 05:28 over 13 years
3.0.6.rc1 UNKNOWN 5 2011-03-29 - 20:47 over 13 years
3.0.5 UNKNOWN 5 2011-02-27 - 02:30 over 13 years
3.0.5.rc1 UNKNOWN 5 2011-02-23 - 19:08 over 13 years
3.0.4 UNKNOWN 5 2011-02-08 - 21:17 over 13 years
3.0.4.rc1 UNKNOWN 7 2011-01-30 - 23:00 over 13 years