🚨 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.
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.
There is a possible regular expression based DoS vulnerability in Action
Dispatch. This vulnerability has been assigned the CVE identifier CVE-2023-22792.
Specially crafted cookies, in combination with a specially crafted
X_FORWARDED_HOST header can cause the regular expression engine to enter a
state of catastrophic backtracking. This can cause the process to use large
amounts of CPU and memory, leading to a possible DoS vulnerability All users
running an affected release should either upgrade or use one of the
workarounds immediately.
Workarounds
We recommend that all users upgrade to one of the FIXED versions. In the
meantime, users can mitigate this vulnerability by using a load balancer or
other device to filter out malicious X_FORWARDED_HOST headers before they
reach the application.
There is a possible regular expression based DoS vulnerability in Action
Dispatch related to the If-None-Match header. This vulnerability has been
assigned the CVE identifier CVE-2023-22795.
Versions Affected: All
Not affected: None
Fixed Versions: 6.1.7.1, 7.0.4.1
Impact
A specially crafted HTTP If-None-Match header can cause the regular
expression engine to enter a state of catastrophic backtracking, when on a
version of Ruby below 3.2.0. This can cause the process to use large amounts
of CPU and memory, leading to a possible DoS vulnerability All users running
an affected release should either upgrade or use one of the workarounds
immediately.
Workarounds
We recommend that all users upgrade to one of the FIXED versions. In the
meantime, users can mitigate this vulnerability by using a load balancer or
other device to filter out malicious If-None-Match headers before they reach
the application.
Users on Ruby 3.2.0 or greater are not affected by this vulnerability.
CSP headers were only sent along with responses that Rails considered as
"HTML" responses. This left API requests without CSP headers, which could
possibly expose users to XSS attacks.
Releases
The FIXED releases are available at the normal locations.
NOTE: rails-ujs is part of Rails/actionview since 5.1.0.
There is a potential DOM based cross-site scripting issue in rails-ujs
which leverages the Clipboard API to target HTML elements that are
assigned the contenteditable attribute. This has the potential to
occur when pasting malicious HTML content from the clipboard that
includes a data-method, data-remote or data-disable-with attribute.
This vulnerability has been assigned the CVE identifier CVE-2023-23913.
Impact
If the specified malicious HTML clipboard content is provided to a
contenteditable element, this could result in the arbitrary execution
of javascript on the origin in question.
Releases
The FIXED releases are available at the normal locations.
Workarounds
We recommend that all users upgrade to one of the FIXED versions.
In the meantime, users can attempt to mitigate this vulnerability
by removing the contenteditable attribute from elements in pages
that rails-ujs will interact with.
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.
rails-ujs-data-method-contenteditable-6-1.patch - Patch for 6.1 series
rails-ujs-data-method-contenteditable-7-0.patch - Patch for 7.0 series
Please note that only the 7.0.Z and 6.1.Z series are
supported at present, and 6.0.Z for severe vulnerabilities.
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
We would like to thank ryotak 15 for reporting this!
There is a possible XSS vulnerability in Action View tag helpers. Passing
untrusted input as hash keys can lead to a possible XSS vulnerability. This
vulnerability has been assigned the CVE identifier CVE-2022-27777.
Versions Affected: ALL
Not affected: NONE
Fixed Versions: 7.0.2.4, 6.1.5.1, 6.0.4.8, 5.2.7.1
Impact
If untrusted data is passed as the hash key for tag attributes, there is a
possibility that the untrusted data may not be properly escaped which can
lead to an XSS vulnerability.
There is a potential denial of service vulnerability present in
ActiveRecord’s PostgreSQL adapter.
This has been assigned the CVE identifier CVE-2022-44566.
Versions Affected: All.
Not affected: None.
Fixed Versions: 7.0.4.1, 6.1.7.1
Impact
In ActiveRecord <7.0.4.1 and <6.1.7.1, when a value outside the range for a
64bit signed integer is provided to the PostgreSQL connection adapter, it
will treat the target column type as numeric. Comparing integer values
against numeric values can result in a slow sequential scan resulting in
potential Denial of Service.
Workarounds
Ensure that user supplied input which is provided to ActiveRecord clauses do
not contain integers wider than a signed 64bit representation or floats.
There is a possible vulnerability in ActiveRecord related to the
sanitization of comments. This vulnerability has been assigned the CVE
identifier CVE-2023-22794.
Previously the implementation of escaping for comments was insufficient for
If malicious user input is passed to either the annotate query method, the
optimizer_hints query method, or through the QueryLogs interface which
automatically adds annotations, it may be sent to the database with
insufficient sanitization and be able to inject SQL outside of the comment.
In most cases these interfaces won’t be used with user input and users
should avoid doing so.
There is a possible escalation to RCE when using YAML serialized columns in
Active Record. This vulnerability has been assigned the CVE identifier CVE-2022-32224.
Versions Affected: All.
Not affected: None
Fixed Versions: 7.0.3.1, 6.1.6.1, 6.0.5.1, 5.2.8.1
Impact
When serialized columns that use YAML (the default) are deserialized, Rails
uses YAML.unsafe_load to convert the YAML data in to Ruby objects. If an
attacker can manipulate data in the database (via means like SQL injection),
then it may be possible for the attacker to escalate to an RCE.
Impacted Active Record models will look something like this:
classUser < ApplicationRecordserialize:options# Vulnerable: Uses YAML for serializationserialize:values,Array# Vulnerable: Uses YAML for serializationserialize:values,JSON# Not vulnerableend
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.
The released versions change the default YAML deserializer to use YAML.safe_load, which prevents deserialization of possibly dangerous
objects. This may introduce backwards compatibility issues with existing
data.
In order to cope with that situation, the released version also contains two
new Active Record configuration options. The configuration options are as
follows:
config.active_storage.use_yaml_unsafe_load
When set to true, this configuration option tells Rails to use the old
"unsafe" YAML loading strategy, maintaining the existing behavior but leaving
the possible escalation vulnerability in place. Setting this option to true
is not recommended, but can aid in upgrading.
The "safe YAML" loading method does not allow all classes to be deserialized
by default. This option allows you to specify classes deemed "safe" in your
application. For example, if your application uses Symbol and Time in
serialized data, you can add Symbol and Time to the allowed list as follows:
There is a vulnerability in ActiveSupport if the new bytesplice method is called on a SafeBuffer with untrusted user input.
This vulnerability has been assigned the CVE identifier CVE-2023-28120.
Versions Affected: All. Not affected: None Fixed Versions: 7.0.4.3, 6.1.7.3
Impact
ActiveSupport uses the SafeBuffer string subclass to tag strings as html_safe after they have been sanitized.
When these strings are mutated, the tag is should be removed to mark them as no longer being html_safe.
Ruby 3.2 introduced a new bytesplice method which ActiveSupport did not yet understand to be a mutation.
Users on older versions of Ruby are likely unaffected.
All users running an affected release and using bytesplice should either upgrade or use one of the workarounds immediately.
Workarounds
Avoid calling bytesplice on a SafeBuffer (html_safe) string with untrusted user input.
There is a possible regular expression based DoS vulnerability in Active
Support. This vulnerability has been assigned the CVE identifier CVE-2023-22796.
Versions Affected: All
Not affected: None
Fixed Versions: 6.1.7.1, 7.0.4.1
Impact
A specially crafted string passed to the underscore method can cause the
regular expression engine to enter a state of catastrophic backtracking.
This can cause the process to use large amounts of CPU and memory, leading
to a possible DoS vulnerability.
This affects String#underscore, ActiveSupport::Inflector.underscore,
String#titleize, and any other methods using these.
All users running an affected release should either upgrade or use one of the
workarounds immediately.
Workarounds
There are no feasible workarounds for this issue.
Users on Ruby 3.2.0 or greater may be able to reduce the impact by
configuring Regexp.timeout.
There is a possible DoS vulnerability in the model name parsing section
of the GlobalID gem. Carefully crafted input can cause the regular
expression engine to take an unexpected amount of time. All users running
an affected release should either upgrade or use one of the workarounds
immediately.
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.
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)
🚨 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?
✳️ rails (6.1.5 → 6.1.7.4) · Repo
Release Notes
6.1.7.3
6.1.7.2
6.1.7.1
6.1.7
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 (5.18.0 → 5.18.1) · Repo · Changelog
Release Notes
5.18.1 (from changelog)
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, 6.1.5 → 6.1.7.4) · Repo · Changelog
Release Notes
6.1.7.3 (from changelog)
6.1.7.2 (from changelog)
6.1.7.1 (from changelog)
6.1.7 (from changelog)
6.1.6.1 (from changelog)
6.1.5.1 (from changelog)
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, 6.1.5 → 6.1.7.4) · Repo · Changelog
↗️ actionmailer (indirect, 6.1.5 → 6.1.7.4) · Repo · Changelog
Release Notes
6.1.7.3 (from changelog)
6.1.7.2 (from changelog)
6.1.7.1 (from changelog)
6.1.7 (from changelog)
6.1.6.1 (from changelog)
6.1.5.1 (from changelog)
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.
↗️ actionpack (indirect, 6.1.5 → 6.1.7.4) · Repo · Changelog
Security Advisories 🚨
🚨 Possible XSS via User Supplied Values to redirect_to
🚨 ReDoS based DoS vulnerability in Action Dispatch
🚨 ReDoS based DoS vulnerability in Action Dispatch
🚨 Possible XSS Vulnerability in Action Pack
Release Notes
6.1.7.3 (from changelog)
6.1.7.2 (from changelog)
6.1.7.1 (from changelog)
6.1.7 (from changelog)
6.1.6.1 (from changelog)
6.1.5.1 (from changelog)
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, 6.1.5 → 6.1.7.4) · Repo · Changelog
Release Notes
6.1.7.3 (from changelog)
6.1.7.2 (from changelog)
6.1.7.1 (from changelog)
6.1.7 (from changelog)
6.1.6.1 (from changelog)
6.1.5.1 (from changelog)
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, 6.1.5 → 6.1.7.4) · Repo · Changelog
Security Advisories 🚨
🚨 DOM Based Cross-site Scripting in rails-ujs for contenteditable HTML Elements
🚨 Possible XSS Vulnerability in Action View tag helpers
Release Notes
6.1.7.3 (from changelog)
6.1.7.2 (from changelog)
6.1.7.1 (from changelog)
6.1.7 (from changelog)
6.1.6.1 (from changelog)
6.1.5.1 (from changelog)
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, 6.1.5 → 6.1.7.4) · Repo · Changelog
Release Notes
6.1.7.3 (from changelog)
6.1.7.2 (from changelog)
6.1.7.1 (from changelog)
6.1.7 (from changelog)
6.1.6.1 (from changelog)
6.1.5.1 (from changelog)
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, 6.1.5 → 6.1.7.4) · Repo · Changelog
Release Notes
6.1.7.3 (from changelog)
6.1.7.2 (from changelog)
6.1.7.1 (from changelog)
6.1.7 (from changelog)
6.1.6.1 (from changelog)
6.1.5.1 (from changelog)
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, 6.1.5 → 6.1.7.4) · Repo · Changelog
Security Advisories 🚨
🚨 Denial of Service Vulnerability in ActiveRecord’s PostgreSQL adapter
🚨 SQL Injection Vulnerability via ActiveRecord comments
🚨 Possible RCE escalation bug with Serialized Columns in Active Record
Release Notes
6.1.7.3 (from changelog)
6.1.7.2 (from changelog)
6.1.7.1 (from changelog)
6.1.7 (from changelog)
6.1.6.1 (from changelog)
6.1.5.1 (from changelog)
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, 6.1.5 → 6.1.7.4) · Repo · Changelog
Release Notes
6.1.7.3 (from changelog)
6.1.7.2 (from changelog)
6.1.7.1 (from changelog)
6.1.7 (from changelog)
6.1.6.1 (from changelog)
6.1.5.1 (from changelog)
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, 6.1.5 → 6.1.7.4) · Repo · Changelog
Security Advisories 🚨
🚨 Possible XSS Security Vulnerability in SafeBuffer#bytesplice
🚨 ReDoS based DoS vulnerability in Active Support’s underscore
Release Notes
6.1.7.3 (from changelog)
6.1.7.2 (from changelog)
6.1.7.1 (from changelog)
6.1.7 (from changelog)
6.1.6.1 (from changelog)
6.1.5.1 (from changelog)
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.1.9 → 1.2.2) · Repo · Changelog
Release Notes
1.2.2
1.2.1
1.2.0
1.1.10
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.
↗️ erubi (indirect, 1.10.0 → 1.12.0) · Repo · Changelog
Release Notes
1.12.0 (from changelog)
1.11.0 (from changelog)
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.
↗️ globalid (indirect, 1.0.0 → 1.1.0) · Repo · Changelog
Security Advisories 🚨
🚨 ReDoS based DoS vulnerability in GlobalID
Release Notes
1.1.0
1.0.1
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.10.0 → 1.14.1) · Repo · Changelog
Release Notes
1.14.1
1.14.0
1.13.0
1.12.0
1.11.0
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.21.3) · Repo · Changelog
Release Notes
2.21.3
2.21.2
2.21.1
2.21.0
2.20.0
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.
↗️ mail (indirect, 2.7.1 → 2.8.1) · Repo · Changelog
Commits
See the full diff on Github. The new version differs by more commits than we can show here.
↗️ mini_portile2 (indirect, 2.8.0 → 2.8.2) · Repo · Changelog
Release Notes
2.8.2
2.8.1
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.
↗️ nio4r (indirect, 2.5.8 → 2.5.9) · Repo · Changelog
Commits
See the full diff on Github. The new version differs by more commits than we can show here.
↗️ nokogiri (indirect, 1.13.10 → 1.15.2) · Repo · Changelog
Security Advisories 🚨
🚨 Update packaged libxml2 to v2.10.4 to resolve multiple CVEs
Release Notes
1.15.2
1.15.1
1.15.0
1.14.5
1.14.4
1.14.3
1.14.2
1.14.1
1.14.0
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.1 → 1.7.1) · Repo · Changelog
Release Notes
1.7.1
1.7.0
1.6.2
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.7) · Repo · Changelog
Release Notes
2.2.7
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-test (indirect, 1.1.0 → 2.1.0) · Repo · Changelog
Release Notes
2.1.0 (from changelog)
2.0.2 (from changelog)
2.0.1 (from changelog)
2.0.0 (from changelog)
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.4.4 → 1.6.0) · Repo · Changelog
Release Notes
1.6.0
1.5.0
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, 6.1.5 → 6.1.7.4) · Repo · Changelog
Release Notes
6.1.7.3 (from changelog)
6.1.7.2 (from changelog)
6.1.7.1 (from changelog)
6.1.7 (from changelog)
6.1.6.1 (from changelog)
6.1.5.1 (from changelog)
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.
↗️ sprockets (indirect, 4.0.3 → 4.2.0) · Repo · Changelog
Release Notes
4.2.0 (from changelog)
4.1.1
4.1.0
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.
↗️ thor (indirect, 1.2.1 → 1.2.2) · Repo · Changelog
Release Notes
1.2.2
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.
↗️ tzinfo (indirect, 2.0.4 → 2.0.6) · Repo · Changelog
Release Notes
2.0.6
2.0.5
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.
↗️ zeitwerk (indirect, 2.5.4 → 2.6.8) · Repo · Changelog
Release Notes
2.6.8 (from changelog)
2.6.7 (from changelog)
2.6.6 (from changelog)
2.6.5 (from changelog)
2.6.4 (from changelog)
2.6.3 (from changelog)
2.6.2 (from changelog)
2.6.1 (from changelog)
2.6.0 (from changelog)
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.
🆕 date (added, 3.3.3)
🆕 net-imap (added, 0.3.6)
🆕 net-pop (added, 0.1.2)
🆕 net-protocol (added, 0.2.1)
🆕 net-smtp (added, 0.3.3)
🆕 timeout (added, 0.4.0)
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