🚨 [security] Update sinatra: 2.2.0 → 2.2.4 (patch)
🚨 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 → 2.2.4) · 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.
Release Notes
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.1Impact
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 dataAll 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.1Impact
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::LintOr
use Rack::CommonLoggerAll 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:
fixup changelogbump versionBetter handling of case-insensitive headers for `Rack::Etag` middleware. (#1919)Add 'custom exception on params too deep error' change to CHANGELOG. (#1914)Expect additional optional version segment in version test. (#1913)Merge branch '2-2-sec' into 2-2-stableupdate changelogbump versionEscape untrusted text when loggingRestrict broken mime parsingEnsure Rack::QueryParser::ParamsTooDeepError is inherited from RangeError. (#1864)Add Ruby 2.3 compatibility for tests, add Ruby 2.3 to CI. (#1863)Merge pull request #1839 from RubyElders/2-2-stable-ciReplace CircleCI with GitHub Actions.Newer rubies spec compatibility.Merge pull request #1838 from RubyElders/custom-range-exception-2-2Use custom exception on params too deep error.Don't ary.inspect in the lint assertions (backport) (#1765)
↗️ mustermann (indirect, 1.1.1 → 2.0.2) · Repo
Commits
See the full diff on Github. The new version differs by 64 commits:
Bump version to 2.0.2Merge pull request #134 from magni-/pp/ruby-3.2-fixDon't call #=~ on objects that don't respond to itUpdate Node.parse parameter definition to work in Ruby 3.2Test on Ruby@head as wellBump version to 2.0.1Merge pull request #129 from dentarg/improve-ciTest with Ruby 2.2 to 2.5Allow JRuby to fail, as it isn't supported yetBump actions/checkoutSet a resonable timeout for CIRun CI on all branchesRemove superfluous commentsMerge pull request #132 from eregon/ci-no-fail-fastOnly use coverage on CRubyDo not cancel other CI jobs when one failsMerge pull request #131 from eregon/truffleruby-ciMerge pull request #130 from eregon/fix-ruby2_keywords-usageFix usage of PP in testsAdd TruffleRuby in CIFix usage of ruby2_keywords, only use it for blocks which delegateBump version to 2.0Merge pull request #127 from sinatra/fix-circular-dependencyFix circular dependency warningMerge pull request #126 from sinatra/ruby3-supportUpdate code climate badgeFix issue with Ruby 3 keyword argumentsMerge pull request #116 from epergo/ep/remove-sinatra-extensionMerge pull request #120 from olleolleolle/patch-2Merge pull request #121 from olleolleolle/patch-3Merge pull request #123 from mishina2228/show-ci-resultsBump version to v1.1.2Pin simplecov to ~> 0.17.0Add jruby 9.3 to CIMerge pull request #119 from olleolleolle/patch-1Merge pull request #124 from mishina2228/update-document-for-edge-versionUpdate doc for using the edge version [ci skip]Remove `--tty` option to show test resultsMerge pull request #122 from michal-granec/handle-frozen-string-literalUse String.new instead of quotes #110Drop "executables" directive from mustermannDrop "executables" directive from gemspecCI: Add Ruby 3.1 to build matrixRemove extension for Sinatraupdate build status badgeMerge pull request #117 from namusyaka/actionsdelete .travis.ymlswitch ci from travis to GitHub ActionsMerge pull request #111 from olleolleolle/patch-1Merge pull request #113 from olleolleolle/patch-3Merge pull request #112 from olleolleolle/patch-2Merge pull request #115 from epergo/ep/remove-redcarpet-dependencyRemove redcarpet dependency as it not being usedCI: Drop EOL'd Ruby versionsCI: Allow 3.0&JRuby to fail, shorthand Ruby namesCI: Update patch versions of Ruby in the matrixAvoid "deprecated Object#=~ is called on Integer"CI: sudo: false is a noop, nowMerge pull request #109 from nateberkopec/patch-1Update/reword Ruby version supportMerge pull request #108 from olleolleolle/patch-1README: Drop defunct badge for gemnasiumYARD: avoid redundant @see bracesUpdate mustermann.rb
↗️ rack-protection (indirect, 2.2.0 → 2.2.4) · Repo · Changelog
Release Notes
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
Commits
See the full diff on Github. The new version differs by 23 commits:
v2.0.11Update CHANGELOGGitHub Workflow: Be consistent in variable formattingGitHub Workflow: Add title for the different variationsWork around heredoc line number bug in testsGemfile: Only load one of RDiscount and BlueClothGemfile: Remove support for 1.9WikiCloth: Use rinku for auto-linking in testsPandoc: Make footnote test less specificPandoc: Handle the new way of specifying smartypantsCommonMarker: Remove test for optionsAsciiDoctor: Remove test for deprecated docbook45Initial GitHub Actions supportUpdate .travis.ymlSass: Support sass-embedded gemAdd Tilt::EmacsOrg supportAllow all options available in CommonMarkerFix Ruby 3.0 compatibility.GitHub is HTTPS by defaultUpdate .travis.ymlFix markdown documentation 404Fix #extensions_for for RedcarpetTemplateHandle rendering BasicObject instances
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)