ThoughtWorksInc / transervicos

33 stars 14 forks source link

[Security] Bump rack from 2.1.2 to 2.1.4 #183

Closed dependabot-preview[bot] closed 4 years ago

dependabot-preview[bot] commented 4 years ago

Bumps rack from 2.1.2 to 2.1.4. This update includes security fixes.

Vulnerabilities fixed

Sourced from The Ruby Advisory Database.

Directory traversal in Rack::Directory app bundled with Rack There was a possible directory traversal vulnerability in the Rack::Directory app that is bundled with Rack.

Versions Affected: rack < 2.2.0 Not affected: Applications that do not use Rack::Directory. Fixed Versions: 2.1.3, >= 2.2.0

Impact

If certain directories exist in a director that is managed by Rack::Directory, an attacker could, using this vulnerability, read the contents of files on the server that were outside of the root specified in the Rack::Directory initializer.

Workarounds

Until such time as the patch is applied or their Rack version is upgraded, we recommend that developers do not use Rack::Directory in their

Patched versions: ~> 2.1.3; >= 2.2.0 Unaffected versions: none

Sourced from The Ruby Advisory Database.

Percent-encoded cookies can be used to overwrite existing prefixed cookie names It is possible to forge a secure or host-only cookie prefix in Rack using an arbitrary cookie write by using URL encoding (percent-encoding) on the name of the cookie. This could result in an application that is dependent on this prefix to determine if a cookie is safe to process being manipulated into processing an insecure or cross-origin request. This vulnerability has been assigned the CVE identifier CVE-2020-8184.

Versions Affected: rack < 2.2.3, rack < 2.1.4 Not affected: Applications which do not rely on __Host- and __Secure- prefixes to determine if a cookie is safe to process Fixed Versions: rack >= 2.2.3, rack >= 2.1.4

Impact

An attacker may be able to trick a vulnerable application into processing an insecure (non-SSL) or cross-origin request if they can gain the ability to write arbitrary cookies that are sent to the application.

Workarounds

Patched versions: ~> 2.1.4; >= 2.2.3 Unaffected versions: none

Changelog

Sourced from rack's changelog.

Changelog

All notable changes to this project will be documented in this file. For info on how to format all future additions to this file please reference Keep A Changelog.

[3.0.0] - Unreleased

Changed

  • BREAKING CHANGE: Require status to be an Integer. (#1662, @olleolleolle)
  • Relax validations around Rack::Request#host and Rack::Request#hostname. (#1606, @pvande)
  • Removed antiquated handlers: FCGI, LSWS, SCGI, Thin. (#1658, @ioquatix)
  • Removed options from Rack::Builder.parse_file and Rack::Builder.load_file. (#1663, @ioquatix)
  • HMAC argument for Rack::Session::Cookie doesn't accept a class constant anymore, but only a string recognized by OpenSSL (e.g. "SHA256") or compatible instance (e.g. OpenSSL::Digest.new("SHA256")) (#1676, @bdewater)
  • Rack::HTTP_VERSION has been removed and the HTTP_VERSION env setting is no longer set in the CGI and Webrick handlers . (#970, @jeremyevans)
  • Rack::Request#[] and #[]= now warn even in non-verbose mode. (#1277, @jeremyevans)
  • Decrease default allowed parameter recursion level from 100 to 32. (#1640, @jeremyevans)

Fixed

  • TempfileReaper now deletes temp files if application raises an exception. (#1679, @jeremyevans)
  • Fix using Rack::Session::Cookie with coder: Rack::Session::Cookie::Base64::{JSON,Zip}. (#1666, @jeremyevans)
  • Avoid NoMethodError when accessing Rack::Session::Cookie without requiring delegate first. (#1610, @onigra)
  • Handle cookies with values that end in '=' (#1645, @lukaso)

[2.2.3] - 2020-06-15

Security

  • [CVE-2020-8184] Do not allow percent-encoded cookie name to override existing cookie names. BREAKING CHANGE: Accessing cookie names that require URL encoding with decoded name no longer works. (@fletchto99)

[2.2.2] - 2020-02-11

Fixed

  • Fix incorrect Rack::Request#host value. (#1591, @ioquatix)
  • Revert Rack::Handler::Thin implementation. (#1583, @jeremyevans)
  • Double assignment is still needed to prevent an "unused variable" warning. (#1589, @kamipo)
  • Fix to handle same_site option for session pool. (#1587, @kamipo)

[2.2.1] - 2020-02-09

Fixed

  • Rework Rack::Request#ip to handle empty forwarded_for. (#1577, @ioquatix)

[2.2.0] - 2020-02-08

SPEC Changes

  • rack.session request environment entry must respond to to_hash and return unfrozen Hash. (@jeremyevans)
Commits
  • 5280870 bump version
  • a243510 When parsing cookies, only decode the values
  • e7ba1b0 fix directory listing
  • b9b8652 bump version
  • 775c836 adding a test for directory traversal
  • dddb7ad Use Dir.entries instead of Dir[glob] to prevent user-specified glob metachara...
  • See full diff in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)
dependabot-preview[bot] commented 4 years ago

Looks like rack is up-to-date now, so this is no longer needed.