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 sinatra: 2.2.0 → 3.0.5 (major) #272

Closed
wants to merge 1 commit into from

Conversation

depfu[bot]
Copy link
Contributor

@depfu depfu bot commented Dec 18, 2022


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

✳️ sinatra (2.2.0 → 3.0.5) · Repo · Changelog

Security Advisories 🚨

🚨 Sinatra vulnerable to Reflected File Download attack

An issue was discovered in Sinatra 2.0 before 2.2.3 and 3.0 before 3.0.4.
An application is vulnerable to a reflected file download (RFD) attack that
sets the Content-Disposition header of a response when the filename is
derived from user-supplied input.

🚨 Sinatra vulnerable to Reflected File Download attack

An issue was discovered in Sinatra 2.0 before 2.2.3 and 3.0 before 3.0.4.
An application is vulnerable to a reflected file download (RFD) attack that
sets the Content-Disposition header of a response when the filename is
derived from user-supplied input.

Release Notes

3.0.5 (from changelog)

  • Fix: Add Zeitwerk compatibility. #1831 by Dawid Janczak

  • Fix: Allow CALLERS_TO_IGNORE to be overridden

3.0.4 (from changelog)

  • Fix: Escape filename in the Content-Disposition header. #1841 by Kunpei Sakai

3.0.3 (from changelog)

3.0.2 (from changelog)

  • New: Add Haml 6 support. #1820 by Jordan Owens

3.0.1 (from changelog)

  • Fix: Revert removal of rack-protection.rb. #1814 by Olle Jonsson

  • Fix: Revert change to server start and stop messaging by using Kernel#warn. Renamed internal warn method warn_for_deprecation. #1818 by Jordan Owens

3.0.0 (from changelog)

  • New: Add Falcon support. #1794 by Samuel Williams and @horaciob

  • New: Add AES GCM encryption support for session cookies. [#1324] (#1324) by Michael Coyne

  • Deprecated: Sinatra Reloader will be removed in the next major release.

  • Fix: Internal Sinatra errors now extend Sinatra::Error. This fixes #1204 and #1518. bda8c29d by Jordan Owens

  • Fix: Preserve query param value if named route param nil. #1676 by Jordan Owens

  • Require Ruby 2.6 as minimum Ruby version. #1699 by Eloy Pérez

  • Breaking change: Remove support for the Stylus template engine. #1697 by Eloy Pérez

  • Breaking change: Remove support for the erubis template engine. #1761 by Eloy Pérez

  • Breaking change: Remove support for the textile template engine. #1766 by Eloy Pérez

  • Breaking change: Remove support for SASS as a template engine. #1768 by Eloy Pérez

  • Breaking change: Remove support for Wlang as a template engine. #1780 by Eloy Pérez

  • Breaking change: Remove support for CoffeeScript as a template engine. #1790 by Eloy Pérez

  • Breaking change: Remove support for Mediawiki as a template engine. #1791 by Eloy Pérez

  • Breaking change: Remove support for Creole as a template engine. #1792 by Eloy Pérez

  • Breaking change: Remove support for Radius as a template engine. #1793 by Eloy Pérez

  • Breaking change: Remove support for the defunct Less templating library. See #1716, #1715 for more discussion and background. d1af2f1e by Olle Jonsson

  • Breaking change: Remove Reel integration. 54597502 by Olle Jonsson

  • CI: Start testing on Ruby 3.1. 60e221940 and b0fa4bef by Johannes Würbach

  • Use Kernel#caller_locations. #1491 by Julik Tarkhanov

  • Docs: Japanese documentation: Add notes about the default_content_type setting. #1650 by Akifumi Tominaga

  • Docs: Polish documentation: Add section about Multithreaded modes and Routes. #1708 by Patrick Gramatowski

  • Docs: Japanese documentation: Make Session section reflect changes done to README.md. #1731 by @shu-i-chi

2.2.3 (from changelog)

  • Fix: Escape filename in the Content-Disposition header. #1841 by Kunpei Sakai

  • Fix: fixed ReDoS for Rack::Protection::IPSpoofing. #1823 by @ooooooo-q

2.2.2 (from changelog)

  • Update mustermann dependency to version 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 (2.2.3 → 2.2.4) · Repo · Changelog

Security Advisories 🚨

🚨 Denial of Service Vulnerability in Rack Multipart Parsing

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

Versions Affected: >= 1.2
Not affected: < 1.2
Fixed Versions: 2.0.9.1, 2.1.4.1, 2.2.3.1

Impact

Carefully crafted multipart POST requests can cause Rack's multipart parser to
take much longer than expected, leading to a possible denial of service
vulnerability.

Impacted code will use Rack's multipart parser to parse multipart posts. This
includes directly using the multipart parser like this:

params = Rack::Multipart.parse_multipart(env)

But it also includes reading POST data from a Rack request object like this:

p request.POST # read POST data
p request.params # reads both query params and POST data

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.

🚨 Possible shell escape sequence injection vulnerability in Rack

There is a possible shell escape sequence injection vulnerability in the Lint
and CommonLogger components of Rack. This vulnerability has been assigned the
CVE identifier CVE-2022-30123.

Versions Affected: All.
Not affected: None
Fixed Versions: 2.0.9.1, 2.1.4.1, 2.2.3.1

Impact

Carefully crafted requests can cause shell escape sequences to be written to
the terminal via Rack's Lint middleware and CommonLogger middleware. These
escape sequences can be leveraged to possibly execute commands in the victim's
terminal.

Impacted applications will have either of these middleware installed, and
vulnerable apps may have something like this:

use Rack::Lint

Or

use Rack::CommonLogger

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

Workarounds

Remove these middleware from your application

Commits

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

↗️ mustermann (indirect, 1.1.1 → 3.0.0) · Repo

Commits

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

↗️ rack-protection (indirect, 2.2.0 → 3.0.5) · Repo · Changelog

Release Notes

3.0.5 (from changelog)

  • Fix: Add Zeitwerk compatibility. #1831 by Dawid Janczak

  • Fix: Allow CALLERS_TO_IGNORE to be overridden

3.0.4 (from changelog)

  • Fix: Escape filename in the Content-Disposition header. #1841 by Kunpei Sakai

3.0.3 (from changelog)

3.0.2 (from changelog)

  • New: Add Haml 6 support. #1820 by Jordan Owens

3.0.1 (from changelog)

  • Fix: Revert removal of rack-protection.rb. #1814 by Olle Jonsson

  • Fix: Revert change to server start and stop messaging by using Kernel#warn. Renamed internal warn method warn_for_deprecation. #1818 by Jordan Owens

3.0.0 (from changelog)

  • New: Add Falcon support. #1794 by Samuel Williams and @horaciob

  • New: Add AES GCM encryption support for session cookies. [#1324] (#1324) by Michael Coyne

  • Deprecated: Sinatra Reloader will be removed in the next major release.

  • Fix: Internal Sinatra errors now extend Sinatra::Error. This fixes #1204 and #1518. bda8c29d by Jordan Owens

  • Fix: Preserve query param value if named route param nil. #1676 by Jordan Owens

  • Require Ruby 2.6 as minimum Ruby version. #1699 by Eloy Pérez

  • Breaking change: Remove support for the Stylus template engine. #1697 by Eloy Pérez

  • Breaking change: Remove support for the erubis template engine. #1761 by Eloy Pérez

  • Breaking change: Remove support for the textile template engine. #1766 by Eloy Pérez

  • Breaking change: Remove support for SASS as a template engine. #1768 by Eloy Pérez

  • Breaking change: Remove support for Wlang as a template engine. #1780 by Eloy Pérez

  • Breaking change: Remove support for CoffeeScript as a template engine. #1790 by Eloy Pérez

  • Breaking change: Remove support for Mediawiki as a template engine. #1791 by Eloy Pérez

  • Breaking change: Remove support for Creole as a template engine. #1792 by Eloy Pérez

  • Breaking change: Remove support for Radius as a template engine. #1793 by Eloy Pérez

  • Breaking change: Remove support for the defunct Less templating library. See #1716, #1715 for more discussion and background. d1af2f1e by Olle Jonsson

  • Breaking change: Remove Reel integration. 54597502 by Olle Jonsson

  • CI: Start testing on Ruby 3.1. 60e221940 and b0fa4bef by Johannes Würbach

  • Use Kernel#caller_locations. #1491 by Julik Tarkhanov

  • Docs: Japanese documentation: Add notes about the default_content_type setting. #1650 by Akifumi Tominaga

  • Docs: Polish documentation: Add section about Multithreaded modes and Routes. #1708 by Patrick Gramatowski

  • Docs: Japanese documentation: Make Session section reflect changes done to README.md. #1731 by @shu-i-chi

2.2.3 (from changelog)

  • Fix: Escape filename in the Content-Disposition header. #1841 by Kunpei Sakai

  • Fix: fixed ReDoS for Rack::Protection::IPSpoofing. #1823 by @ooooooo-q

2.2.2 (from changelog)

  • Update mustermann dependency to version 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.

↗️ tilt (indirect, 2.0.10 → 2.0.11) · Repo · Changelog

Release Notes

2.0.11 (from changelog)

  • Fix #extensions_for for RedcarpetTemplate (judofyr)
  • Support the new sass-embedded gem (#367, ntkme)
  • Add Tilt::EmacsOrg support (#366, hacktivista)
  • Improve rendering of BasicObject instances (#348, jeremyevans)
  • Fix Ruby 3.0 compatibility (#360, voxik)

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

Commits

See the full diff on Github. The new version differs by 23 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 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
Copy link
Contributor Author

depfu bot commented Apr 12, 2023

Closed in favor of #294.

1 similar comment
@depfu
Copy link
Contributor Author

depfu bot commented Apr 12, 2023

Closed in favor of #294.

@depfu depfu bot closed this Apr 12, 2023
@depfu depfu bot deleted the depfu/update/sinatra-3.0.5 branch April 12, 2023 16:46
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