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] Update sentry-rails 5.17.3 → 5.18.0 (minor) #1507

Merged
merged 1 commit into from
Jul 11, 2024

Conversation

depfu[bot]
Copy link
Contributor

@depfu depfu bot commented Jul 9, 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?

✳️ sentry-rails (5.17.3 → 5.18.0) · Repo · Changelog

Release Notes

5.18.0

Features

  • Add generator for initializer generation (#2286)

    Rails users will be able to use bin/rails generate sentry to generate their config/initializers/sentry.rb file.

  • Notify users when their custom options are discarded (#2303)

  • Add a new :graphql patch to automatically enable instrumenting GraphQL spans (#2308)

    Usage:

    Sentry.init do |config|
      # ...
      config.enabled_patches += [:graphql]
    end
  • Add Sentry.get_trace_propagation_meta helper for injecting meta tags into views (#2314)

  • Add query source support to sentry-rails (#2313)

    The feature is only activated in apps that use Ruby 3.2+ and Rails 7.1+. By default only queries that take longer than 100ms will have source recorded, which can be adjusted by updating the value of config.rails.db_query_source_threshold_ms.

  • Log envelope delivery message with debug instead of info (#2320)

Bug Fixes

  • Don't throw error on arbitrary arguments being passed to capture_event options #2301
  • Decrease the default number of background worker threads by half (#2305)
  • Don't mutate enabled_environments when using Sentry::TestHelper (#2317)
  • Don't use array for transaction names and sources on scope (#2324)
    • Fixes #2257
    • BREAKING This removes the internal scope.transaction_names method, please use scope.transaction_name instead

Internal

  • Add origin to spans and transactions to track integration sources for instrumentation (#2319)

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

✳️ minitest (5.23.1 → 5.24.1) · Repo · Changelog

Release Notes

5.24.1 (from changelog)

  • 1 bug fix:

    • Fix the error message when an extension is invalid value. (y-yagi)

5.24.0 (from changelog)

  • 2 minor enhancements:

    • Added Minitest.register_plugin.

    • Extended plugin system to work with modules/classes for opt-out plugins.

  • 1 bug fix:

    • Removed anacronism, but allow load_plugins to exit gracefully if –disable=gems.

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

Commits

See the full diff on Github. The new version differs by 8 commits:

✳️ sentry-ruby (5.17.3 → 5.18.0) · Repo · Changelog

Release Notes

5.18.0

Features

  • Add generator for initializer generation (#2286)

    Rails users will be able to use bin/rails generate sentry to generate their config/initializers/sentry.rb file.

  • Notify users when their custom options are discarded (#2303)

  • Add a new :graphql patch to automatically enable instrumenting GraphQL spans (#2308)

    Usage:

    Sentry.init do |config|
      # ...
      config.enabled_patches += [:graphql]
    end
  • Add Sentry.get_trace_propagation_meta helper for injecting meta tags into views (#2314)

  • Add query source support to sentry-rails (#2313)

    The feature is only activated in apps that use Ruby 3.2+ and Rails 7.1+. By default only queries that take longer than 100ms will have source recorded, which can be adjusted by updating the value of config.rails.db_query_source_threshold_ms.

  • Log envelope delivery message with debug instead of info (#2320)

Bug Fixes

  • Don't throw error on arbitrary arguments being passed to capture_event options #2301
  • Decrease the default number of background worker threads by half (#2305)
  • Don't mutate enabled_environments when using Sentry::TestHelper (#2317)
  • Don't use array for transaction names and sources on scope (#2324)
    • Fixes #2257
    • BREAKING This removes the internal scope.transaction_names method, please use scope.transaction_name instead

Internal

  • Add origin to spans and transactions to track integration sources for instrumentation (#2319)

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

↗️ erubi (indirect, 1.12.0 → 1.13.0) · Repo · Changelog

Release Notes

1.13.0 (from changelog)

* Define Erubi.h as a module function (jeremyevans)
  • Add erubi/capture_block, supporting capturing block output via standard <%= and <%== tags (jeremyevans)

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

Commits

See the full diff on Github. The new version differs by 12 commits:

↗️ irb (indirect, 1.13.1 → 1.14.0) · Repo

Release Notes

1.14.0

What's Changed

✨ Enhancements

  • Stop echoing or storing command calls' nil return value by @st0012 in #972
  • Introduce cd command by @st0012 in #971
  • Return only commands when completing help command's argument by @st0012 in #973

🐛 Bug Fixes

  • Allow assigning and using local variable name conflicting with command by @tompng in #961

🛠 Other Changes

Full Changelog: v1.13.2...v1.14.0

1.13.2

What's Changed

🐛 Bug Fixes

  • Add a new initialization step to validate IRB.conf's values by @st0012 in #953
  • Reorder ruby lex clauses for unrecoverable first by @kddnewton in #956
  • Remove useless Reline::Key.new and update wrong comment for alt+d by @tompng in #963
  • Add accidentally dropped disable_irb command back by @st0012 in #964

📚 Documentation

  • Help users choose between helper methods and commands in the extension document by @st0012 in #965

🛠 Other Changes

  • Enhance regexp to account for prism error messages by @kddnewton in #954
  • Clean up tmpdir by @nobu in #955
  • Suppress Ruby warnings in certain backtrace filtering tests by @st0012 in #966
  • fix typos in the Index of Command-Line Options by @Suban05 in #967
  • Cleanup irbrc generator cache always at teardown by @tompng in #968
  • Invalid encoding symbol now raises SyntaxError also in 3.3 by @tompng in #969
  • Bump version to v1.13.2 by @st0012 in #970

New Contributors

Full Changelog: v1.13.1...v1.13.2

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

Commits

See the full diff on Github. The new version differs by 17 commits:

↗️ rack (indirect, 2.2.9 → 3.1.6) · Repo · Changelog

Security Advisories 🚨

🚨 Rack ReDoS Vulnerability in HTTP Accept Headers Parsing

Summary

A Regular Expression Denial of Service (ReDoS) vulnerability exists in the Rack::Request::Helpers module when parsing HTTP Accept headers. This vulnerability can be exploited by an attacker sending specially crafted Accept-Encoding or Accept-Language headers, causing the server to spend excessive time processing the request and leading to a Denial of Service (DoS).

Details

The fix for GHSA-54rr-7fvw-6x8f was not applied to the main branch and thus while the issue was fixed for the Rack v3.0 release series, it was not fixed in the v3.1 release series until v3.1.5.

🚨 Rack vulnerable to ReDoS in content type parsing (2nd degree polynomial)

Summary

module Rack
  class MediaType
    SPLIT_PATTERN = %r{\s*[;,]\s*}

The above regexp is subject to ReDos. 50K blank characters as a prefix to the header will take over 10s to split.

PoC

A simple HTTP request with lots of blank characters in the content-type header:

request["Content-Type"] = (" " * 50_000) + "a,"

Impact

It's a very easy to craft ReDoS. Like all ReDoS the impact is debatable.

🚨 Rack Header Parsing leads to Possible Denial of Service Vulnerability

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.

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.

  • 2-0-header-redos.patch - Patch for 2.0 series
  • 2-1-header-redos.patch - Patch for 2.1 series
  • 2-2-header-redos.patch - Patch for 2.2 series
  • 3-0-header-redos.patch - Patch for 3.0 series

Credits

Thanks to svalkanov for reporting this and
providing patches!

🚨 Rack has possible DoS Vulnerability with Range Header

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.

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.

  • 3-0-range.patch - Patch for 3.0 series
  • 2-2-range.patch - Patch for 2.2 series

Credits

Thank you ooooooo_q for the report and
patch

🚨 Possible Denial of Service Vulnerability in Rack's header parsing

There is a denial of service vulnerability in the header parsing component of Rack. This vulnerability has been assigned the CVE identifier CVE-2023-27539.

Versions Affected: >= 2.0.0 Not affected: None. Fixed Versions: 2.2.6.4, 3.0.6.1

Impact

Carefully crafted input can cause header parsing in Rack to take an unexpected amount of time, possibly resulting in a denial of service attack vector. Any applications that parse headers using Rack (virtually all Rails applications) are impacted.

Workarounds

Setting Regexp.timeout in Ruby 3.2 is a possible workaround.

🚨 Rack has possible DoS Vulnerability in Multipart MIME parsing

There is a possible DoS vulnerability in the Multipart MIME parsing code in Rack. This vulnerability has been assigned the CVE identifier CVE-2023-27530.

Versions Affected: All. Not affected: None Fixed Versions: 3.0.4.2, 2.2.6.3, 2.1.4.3, 2.0.9.3

Impact

The Multipart MIME parsing code in Rack limits the number of file parts, but does not limit the total number of parts that can be uploaded. Carefully crafted requests can abuse this and cause multipart parsing to take longer than expected.

All users running an affected release should either upgrade or use one of the workarounds immediately.

Workarounds

A proxy can be configured to limit the POST body size which will mitigate this issue.

🚨 Denial of service via multipart parsing in Rack

There is a denial of service vulnerability in the multipart parsing component of Rack. This vulnerability has been assigned the CVE identifier CVE-2022-44572.

Versions Affected: >= 2.0.0 Not affected: None. Fixed Versions: 2.0.9.2, 2.1.4.2, 2.2.6.1, 3.0.0.1
Impact

Carefully crafted input can cause RFC2183 multipart boundary parsing in Rack to take an unexpected amount of time, possibly resulting in a denial of service attack vector. Any applications that parse multipart posts using Rack (virtually all Rails applications) are impacted.
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.

2-0-Forbid-control-characters-in-attributes.patch - Patch for 2.0 series
2-1-Forbid-control-characters-in-attributes.patch - Patch for 2.1 series
2-2-Forbid-control-characters-in-attributes.patch - Patch for 2.2 series
3-0-Forbid-control-characters-in-attributes.patch - Patch for 3.0 series

🚨 Denial of service via header parsing in Rack

There is a possible denial of service vulnerability in the Range header parsing component of Rack. This vulnerability has been assigned the CVE identifier CVE-2022-44570.

Versions Affected: >= 1.5.0 Not affected: None. Fixed Versions: 2.0.9.2, 2.1.4.2, 2.2.6.2, 3.0.0.1
Impact

Carefully crafted input can cause the Range header parsing component in Rack to take an unexpected amount of time, possibly resulting in a denial of service attack vector. Any applications that deal with Range requests (such as streaming applications, or applications that serve files) may be impacted.
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.

2-0-Fix-ReDoS-in-Rack-Utils.get_byte_ranges.patch - Patch for 2.0 series
2-1-Fix-ReDoS-in-Rack-Utils.get_byte_ranges.patch - Patch for 2.1 series
2-2-Fix-ReDoS-in-Rack-Utils.get_byte_ranges.patch - Patch for 2.2 series
3-0-Fix-ReDoS-in-Rack-Utils.get_byte_ranges.patch - Patch for 3.0 series

🚨 Denial of Service Vulnerability in Rack Content-Disposition parsing

There is a denial of service vulnerability in the Content-Disposition parsing component of Rack. This vulnerability has been assigned the CVE identifier CVE-2022-44571.

Versions Affected: >= 2.0.0 Not affected: None. Fixed Versions: 2.0.9.2, 2.1.4.2, 2.2.6.1, 3.0.0.1
Impact

Carefully crafted input can cause Content-Disposition header parsing in Rack to take an unexpected amount of time, possibly resulting in a denial of service attack vector. This header is used typically used in multipart parsing. Any applications that parse multipart posts using Rack (virtually all Rails applications) are impacted.
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.

2-0-Fix-ReDoS-vulnerability-in-multipart-parser - Patch for 2.0 series
2-1-Fix-ReDoS-vulnerability-in-multipart-parser - Patch for 2.1 series
2-2-Fix-ReDoS-vulnerability-in-multipart-parser - Patch for 2.2 series
3-0-Fix-ReDoS-vulnerability-in-multipart-parser - Patch for 3.0 series
Release Notes

Too many releases to show here. View the full release notes.

Commits

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

↗️ rack-session (indirect, 1.0.2 → 2.0.0) · Repo

Release Notes

2.0.0

What's Changed

Full Changelog: v1.0.0...v2.0.0

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

Commits

See the full diff on Github. The new version differs by 36 commits:

↗️ rackup (indirect, 1.0.0 → 2.1.0) · Repo

Commits

See the full diff on Github. The new version differs by 9 commits:

↗️ reline (indirect, 0.5.8 → 0.5.9) · Repo

Release Notes

0.5.9

What's Changed

🐛 Bug Fixes

  • In ed_search_[prev|next]_history, make the cursor come to the end of the line when there is no search substr by @QWYNG in #714
  • Change Reline::ANSI to a general io by @tompng in #659

🛠 Other Changes

  • Overhaul io gate structure by @st0012 in #666
  • Improve key binding match/matching check by @tompng in #709
  • Ensure no escape sequence before printing prompt by @tompng in #716
  • Refactor input key reading by @tompng in #712
  • Remove instance variable @first_char by @tompng in #717
  • Suppress warning(Ruby 3.4) requiring fiddle from terminfo.rb by @tompng in #721
  • Add more fallbacks when terminfo or fiddle is not available by @tompng in #722
  • Bump version to 0.5.9 by @ima1zumi in #724

New Contributors

Full Changelog: v0.5.8...v0.5.9

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

Commits

See the full diff on Github. The new version differs by 10 commits:

↗️ stringio (indirect, 3.1.0 → 3.1.1) · Repo · Changelog

Release Notes

3.1.1

Improvements

Fixes

Thanks

  • Tiago Cardoso

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

Commits

See the full diff on Github. The new version differs by 25 commits:

↗️ zeitwerk (indirect, 2.6.15 → 2.6.16) · Repo · Changelog

Release Notes

2.6.16 (from changelog)

  • Logging prints a message when a directory that was not ignored is skipped anyway because it contains no Ruby files.

  • Internal refactors.

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

Commits

See the full diff on Github. The new version differs by 8 commits:


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)

@depfu depfu bot added the depfu label Jul 9, 2024
@hennevogel hennevogel merged commit 3174ffe into master Jul 11, 2024
7 checks passed
@depfu depfu bot deleted the depfu/update/group/sentry-ruby-core-5.18.0 branch July 11, 2024 11:05
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.

1 participant