Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🚨 [security] [ruby] Update actionpack 7.0.4.3 → 7.0.8.1 (patch) #114

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

depfu[bot]
Copy link
Contributor

@depfu depfu bot commented Feb 25, 2024


🚨 Your current dependencies have known security vulnerabilities 🚨

This dependency update fixes known security vulnerabilities. Please see the details below and assess their impact carefully. We recommend to merge and deploy this as soon as possible!


Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.

What changed?

↗️ actionpack (indirect, 7.0.4.3 → 7.0.8.1) · Repo · Changelog

Security Advisories 🚨

🚨 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: All. Not affected: None 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.

🚨 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.

🚨 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.

Release Notes

7.0.8.1 (from changelog)

More info than we can show here.

7.0.8 (from changelog)

More info than we can show here.

7.0.7.2 (from changelog)

More info than we can show here.

7.0.7.1 (from changelog)

More info than we can show here.

7.0.7 (from changelog)

More info than we can show here.

7.0.6 (from changelog)

More info than we can show here.

7.0.5.1 (from changelog)

More info than we can show here.

7.0.5 (from changelog)

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

✳️ rails (7.0.4.3 → 7.0.8.1) · Repo

Release Notes

7.0.8.1

More info than we can show here.

7.0.8

More info than we can show here.

7.0.7.2

More info than we can show here.

7.0.7.1

More info than we can show here.

7.0.7

More info than we can show here.

7.0.6

More info than we can show here.

7.0.5.1

More info than we can show here.

7.0.5

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ actioncable (indirect, 7.0.4.3 → 7.0.8.1) · Repo · Changelog

Release Notes

7.0.8.1 (from changelog)

More info than we can show here.

7.0.8 (from changelog)

More info than we can show here.

7.0.7.2 (from changelog)

More info than we can show here.

7.0.7.1 (from changelog)

More info than we can show here.

7.0.7 (from changelog)

More info than we can show here.

7.0.6 (from changelog)

More info than we can show here.

7.0.5.1 (from changelog)

More info than we can show here.

7.0.5 (from changelog)

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ actionmailbox (indirect, 7.0.4.3 → 7.0.8.1) · Repo · Changelog

↗️ actionmailer (indirect, 7.0.4.3 → 7.0.8.1) · Repo · Changelog

Release Notes

7.0.8.1 (from changelog)

More info than we can show here.

7.0.8 (from changelog)

More info than we can show here.

7.0.7.2 (from changelog)

More info than we can show here.

7.0.7.1 (from changelog)

More info than we can show here.

7.0.7 (from changelog)

More info than we can show here.

7.0.6 (from changelog)

More info than we can show here.

7.0.5.1 (from changelog)

More info than we can show here.

7.0.5 (from changelog)

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ actiontext (indirect, 7.0.4.3 → 7.0.8.1) · Repo · Changelog

Release Notes

7.0.8.1 (from changelog)

More info than we can show here.

7.0.8 (from changelog)

More info than we can show here.

7.0.7.2 (from changelog)

More info than we can show here.

7.0.7.1 (from changelog)

More info than we can show here.

7.0.7 (from changelog)

More info than we can show here.

7.0.6 (from changelog)

More info than we can show here.

7.0.5.1 (from changelog)

More info than we can show here.

7.0.5 (from changelog)

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ actionview (indirect, 7.0.4.3 → 7.0.8.1) · Repo · Changelog

Release Notes

7.0.8.1 (from changelog)

More info than we can show here.

7.0.8 (from changelog)

More info than we can show here.

7.0.7.2 (from changelog)

More info than we can show here.

7.0.7.1 (from changelog)

More info than we can show here.

7.0.7 (from changelog)

More info than we can show here.

7.0.6 (from changelog)

More info than we can show here.

7.0.5.1 (from changelog)

More info than we can show here.

7.0.5 (from changelog)

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ activejob (indirect, 7.0.4.3 → 7.0.8.1) · Repo · Changelog

Release Notes

7.0.8.1 (from changelog)

More info than we can show here.

7.0.8 (from changelog)

More info than we can show here.

7.0.7.2 (from changelog)

More info than we can show here.

7.0.7.1 (from changelog)

More info than we can show here.

7.0.7 (from changelog)

More info than we can show here.

7.0.6 (from changelog)

More info than we can show here.

7.0.5.1 (from changelog)

More info than we can show here.

7.0.5 (from changelog)

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ activemodel (indirect, 7.0.4.3 → 7.0.8.1) · Repo · Changelog

Release Notes

7.0.8.1 (from changelog)

More info than we can show here.

7.0.8 (from changelog)

More info than we can show here.

7.0.7.2 (from changelog)

More info than we can show here.

7.0.7.1 (from changelog)

More info than we can show here.

7.0.7 (from changelog)

More info than we can show here.

7.0.6 (from changelog)

More info than we can show here.

7.0.5.1 (from changelog)

More info than we can show here.

7.0.5 (from changelog)

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ activerecord (indirect, 7.0.4.3 → 7.0.8.1) · Repo · Changelog

Release Notes

7.0.8.1 (from changelog)

More info than we can show here.

7.0.8 (from changelog)

More info than we can show here.

7.0.7.2 (from changelog)

More info than we can show here.

7.0.7.1 (from changelog)

More info than we can show here.

7.0.7 (from changelog)

More info than we can show here.

7.0.6 (from changelog)

More info than we can show here.

7.0.5.1 (from changelog)

More info than we can show here.

7.0.5 (from changelog)

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ activestorage (indirect, 7.0.4.3 → 7.0.8.1) · Repo · Changelog

Release Notes

7.0.8.1 (from changelog)

More info than we can show here.

7.0.8 (from changelog)

More info than we can show here.

7.0.7.2 (from changelog)

More info than we can show here.

7.0.7.1 (from changelog)

More info than we can show here.

7.0.7 (from changelog)

More info than we can show here.

7.0.6 (from changelog)

More info than we can show here.

7.0.5.1 (from changelog)

More info than we can show here.

7.0.5 (from changelog)

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ activesupport (indirect, 7.0.4.3 → 7.0.8.1) · Repo · Changelog

Security Advisories 🚨

🚨 Possible File Disclosure of Locally Encrypted Files

There is a possible file disclosure of locally encrypted files in Active Support. This vulnerability has been assigned the CVE identifier CVE-2023-38037.

Versions Affected: >= 5.2.0 Not affected: < 5.2.0 Fixed Versions: 7.0.7.1, 6.1.7.5

Impact

ActiveSupport::EncryptedFile writes contents that will be encrypted to a temporary file. The temporary file’s permissions are defaulted to the user’s current umask settings, meaning that it’s possible for other users on the same system to read the contents of the temporary file.

Attackers that have access to the file system could possibly read the contents of this temporary file while a user is editing it.

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 issue, you can set your umask to be more restrictive like this:

$ umask 0077
Release Notes

7.0.8.1 (from changelog)

More info than we can show here.

7.0.8 (from changelog)

More info than we can show here.

7.0.7.2 (from changelog)

More info than we can show here.

7.0.7.1 (from changelog)

More info than we can show here.

7.0.7 (from changelog)

More info than we can show here.

7.0.6 (from changelog)

More info than we can show here.

7.0.5.1 (from changelog)

More info than we can show here.

7.0.5 (from changelog)

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ concurrent-ruby (indirect, 1.2.2 → 1.2.3) · Repo · Changelog

Release Notes

1.2.3

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ i18n (indirect, 1.12.0 → 1.14.1) · Repo · Changelog

Release Notes

1.14.1

More info than we can show here.

1.14.0

More info than we can show here.

1.13.0

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ loofah (indirect, 2.19.1 → 2.22.0) · Repo · Changelog

Release Notes

2.22.0

More info than we can show here.

2.21.4

More info than we can show here.

2.21.3

More info than we can show here.

2.21.2

More info than we can show here.

2.21.1

More info than we can show here.

2.21.0

More info than we can show here.

2.20.0

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ minitest (indirect, 5.18.0 → 5.22.2) · Repo · Changelog

Release Notes

5.22.2 (from changelog)

More info than we can show here.

5.22.1 (from changelog)

More info than we can show here.

5.22.0 (from changelog)

More info than we can show here.

5.21.2 (from changelog)

More info than we can show here.

5.21.1 (from changelog)

More info than we can show here.

5.21.0 (from changelog)

More info than we can show here.

5.20.0 (from changelog)

More info than we can show here.

5.19.0 (from changelog)

More info than we can show here.

5.18.1 (from changelog)

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ nokogiri (indirect, 1.14.2 → 1.16.2) · Repo · Changelog

Security Advisories 🚨

🚨 Improper Handling of Unexpected Data Type in Nokogiri

Summary

Nokogiri v1.16.2 upgrades the version of its dependency libxml2 to v2.12.5.

libxml2 v2.12.5 addresses the following vulnerability:

CVE-2024-25062 / https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-25062
described at https://gitlab.gnome.org/GNOME/libxml2/-/issues/604
patched by https://gitlab.gnome.org/GNOME/libxml2/-/commit/92721970

Please note that this advisory only applies to the CRuby implementation of
Nokogiri < 1.16.2, and only if the packaged libraries are being used. If
you've overridden defaults at installation time to use system libraries
instead of packaged libraries, you should instead pay attention to your
distro's libxml2 release announcements.

Severity

The Nokogiri maintainers have evaluated this as Moderate.

Mitigation

Upgrade to Nokogiri >= 1.16.2.

Users who are unable to upgrade Nokogiri may also choose a more complicated
mitigation: compile and link Nokogiri against external libraries libxml2 >=
2.12.5 which will also address these same issues.

JRuby users are not affected.

Workarounds

🚨 Update packaged libxml2 to v2.10.4 to resolve multiple CVEs

Summary

Nokogiri v1.14.3 upgrades the packaged version of its dependency libxml2 to
v2.10.4 from v2.10.3.

libxml2 v2.10.4 addresses the following known vulnerabilities:

  • CVE-2023-29469: Hashing of
    empty dict strings isn't deterministic
  • CVE-2023-28484: Fix null deref
    in xmlSchemaFixupComplexType
  • Schemas: Fix null-pointer-deref in xmlSchemaCheckCOSSTDerivedOK

Please note that this advisory only applies to the CRuby implementation of Nokogiri < 1.14.3,
and only if the packaged libraries are being used. If you've overridden defaults at installation
time to use system libraries instead of packaged libraries, you should instead pay attention to
your distro's libxml2 release announcements.

Mitigation

Upgrade to Nokogiri >= 1.14.3.

Users who are unable to upgrade Nokogiri may also choose a more complicated mitigation: compile
and link Nokogiri against external libraries libxml2 >= 2.10.4 which will also address these
same issues.

Impact

No public information has yet been published about the security-related issues other than the
upstream commits. Examination of those changesets indicate that the more serious issues relate to
libxml2 dereferencing NULL pointers and potentially segfaulting while parsing untrusted inputs.

The commits can be examined at:

Release Notes

1.16.2

More info than we can show here.

1.16.1

More info than we can show here.

1.16.0

More info than we can show here.

1.15.5

More info than we can show here.

1.15.4

More info than we can show here.

1.15.3

More info than we can show here.

1.15.2

More info than we can show here.

1.15.1

More info than we can show here.

1.15.0

More info than we can show here.

1.14.5

More info than we can show here.

1.14.4

More info than we can show here.

1.14.3

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ racc (indirect, 1.6.2 → 1.7.3) · Repo · Changelog

Release Notes

1.7.3

More info than we can show here.

1.7.2

More info than we can show here.

1.7.1

More info than we can show here.

1.7.0

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ rack (indirect, 2.2.6.4 → 2.2.8.1) · Repo · Changelog

Security Advisories 🚨

🚨 Possible Denial of Service Vulnerability in Rack Header Parsing

There is a possible denial of service vulnerability in the header parsing
routines in Rack. This vulnerability has been assigned the CVE identifier
CVE-2024-26146.

Versions Affected: All. Not affected: None Fixed Versions: 2.0.9.4, 2.1.4.4, 2.2.8.1, 3.0.9.1

Impact

Carefully crafted headers can cause header parsing in Rack to take longer than
expected resulting in a possible denial of service issue. Accept and
Forwarded headers are impacted.

Ruby 3.2 has mitigations for this problem, so Rack applications using
Ruby 3.2 or newer are unaffected.

Releases

The fixed releases are available at the normal locations.

Workarounds

There are no feasible workarounds for this issue.

🚨 Possible DoS Vulnerability with Range Header in Rack

There is a possible DoS vulnerability relating to the Range request header in
Rack. This vulnerability has been assigned the CVE identifier CVE-2024-26141.

Versions Affected: >= 1.3.0. Not affected: < 1.3.0 Fixed Versions: 3.0.9.1, 2.2.8.1

Impact

Carefully crafted Range headers can cause a server to respond with an
unexpectedly large response. Responding with such large responses could lead
to a denial of service issue.

Vulnerable applications will use the Rack::File middleware or the
Rack::Utils.byte_ranges methods (this includes Rails applications).

Releases

The fixed releases are available at the normal locations.

Workarounds

There are no feasible workarounds for this issue.

🚨 Denial of Service Vulnerability in Rack Content-Type Parsing

There is a possible denial of service vulnerability in the content type
parsing component of Rack. This vulnerability has been assigned the CVE
identifier CVE-2024-25126.

Versions Affected: >= 0.4 Not affected: < 0.4 Fixed Versions: 3.0.9.1, 2.2.8.1

Impact

Carefully crafted content type headers can cause Rack’s media type parser to
take much longer than expected, leading to a possible denial of service
vulnerability.

Impacted code will use Rack’s media type parser to parse content type headers.
This code will look like below:

request.media_type

OR

request.media_type_params

OR

Rack::MediaType.type(content_type)

Some frameworks (including Rails) call this code internally, so upgrading is
recommended!

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.

Release Notes

2.2.8.1

More info than we can show here.

2.2.7

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ rails-dom-testing (indirect, 2.0.3 → 2.2.0) · Repo · Changelog

Release Notes

2.2.0

More info than we can show here.

2.1.1

More info than we can show here.

2.1.0

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ rails-html-sanitizer (indirect, 1.5.0 → 1.6.0) · Repo · Changelog

Release Notes

1.6.0

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ railties (indirect, 7.0.4.3 → 7.0.8.1) · Repo · Changelog

Release Notes

7.0.8.1 (from changelog)

More info than we can show here.

7.0.8 (from changelog)

More info than we can show here.

7.0.7.2 (from changelog)

More info than we can show here.

7.0.7.1 (from changelog)

More info than we can show here.

7.0.7 (from changelog)

More info than we can show here.

7.0.6 (from changelog)

More info than we can show here.

7.0.5.1 (from changelog)

More info than we can show here.

7.0.5 (from changelog)

More info than we can show here.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.


Depfu Status

Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.

All Depfu comment commands
@​depfu rebase
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu cancel merge
Cancels automatic merging of this PR
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Ignores all future updates for this dependency and closes this PR
@​depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@​depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)
Go to the Depfu Dashboard to see the state of your dependencies and to customize how Depfu works.

@depfu depfu bot added the depfu label Feb 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants