event-sourcing-rails-todo-app-demo
event-sourcing-rails-todo-app-demo copied to clipboard
[Security] Bump rack from 2.0.6 to 2.2.3
Bumps rack from 2.0.6 to 2.2.3. This update includes security fixes.
Vulnerabilities fixed
Sourced from The GitHub Security Advisory Database.
Low severity vulnerability that affects rack There's a possible information leak / session hijack vulnerability in Rack. Attackers may be able to find and hijack sessions by using timing attacks targeting the session id. Session ids are usually stored and indexed in a database that uses some kind of scheme for speeding up lookups of that session id. By carefully measuring the amount of time it takes to look up a session, an attacker may be able to find a valid session id and hijack the session.
The session id itself may be generated randomly, but the way the session is indexed by the backing store does not use a secure comparison.
Impact
The session id stored in a cookie is the same id that is used when querying the backing session storage engine. Most storage mechanisms (for example a database) use some sort of indexing in order to speed up the lookup of that id. By carefully timing requests and session lookup failures, an attacker may be able to perform a timing attack to determine an existing session id and hijack that session.
Releases
The 1.6.12 and 2.0.8 releases are available at the normal locations.
Workarounds
There are no known workarounds.
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
... (truncated)Affected versions: >= 2.0.0, < 2.0.8
Sourced from The Ruby Advisory Database.
Possible information leak / session hijack vulnerability There's a possible information leak / session hijack vulnerability in Rack.
Attackers may be able to find and hijack sessions by using timing attacks targeting the session id. Session ids are usually stored and indexed in a database that uses some kind of scheme for speeding up lookups of that session id. By carefully measuring the amount of time it takes to look up a session, an attacker may be able to find a valid session id and hijack the session.
The session id itself may be generated randomly, but the way the session is indexed by the backing store does not use a secure comparison.
Impact:
The session id stored in a cookie is the same id that is used when querying the backing session storage engine. Most storage mechanisms (for example a database) use some sort of indexing in order to speed up the lookup of that id. By carefully timing requests and session lookup failures, an attacker may be able to perform a timing attack to determine an existing session id and hijack that session.
Patched versions: ~> 1.6.12; >= 2.0.8 Unaffected versions: none
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
... (truncated)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
... (truncated)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
statusto be an Integer. (#1662, @olleolleolle)- Relax validations around
Rack::Request#hostandRack::Request#hostname. (#1606, @pvande)- Removed antiquated handlers: FCGI, LSWS, SCGI, Thin. (#1658, @ioquatix)
- Removed options from
Rack::Builder.parse_fileandRack::Builder.load_file. (#1663, @ioquatix)Fixed
- 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.2] - 2020-02-11
Fixed
- Fix incorrect
Rack::Request#hostvalue. (#1591, @ioquatix)- Revert
Rack::Handler::Thinimplementation. (#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
[2.2.0] - 2020-02-08
SPEC Changes
rack.sessionrequest environment entry must respond toto_hashand return unfrozen Hash. (@jeremyevans)- Request environment cannot be frozen. (@jeremyevans)
- CGI values in the request environment with non-ASCII characters must use ASCII-8BIT encoding. (@jeremyevans)
- Improve SPEC/lint relating to SERVER_NAME, SERVER_PORT and HTTP_HOST. (#1561, @ioquatix)
Added
... (truncated)
rackupsupports multiple-roptions and will require all arguments. (@jeremyevans)Serversupports an array of paths to require for the:requireoption. (@khotta)Filessupports multipart range requests. (@fatkodima)Multipart::UploadedFilesupports an IO-like object instead of using the filesystem, using:filenameand:iooptions. (@jeremyevans)Multipart::UploadedFilesupports keyword arguments:path,:content_type, and:binaryin addition to positional arguments. (@jeremyevans)
Commits
1741c58bump version5ccca47When parsing cookies, only decode the valuesa5e80f0Bump version.b0de37dRemove trailing whitespace.1a784e5Prepare CHANGELOG for next patch release.a0d57d4Fix to handle same_site option for session poola9b223bEnsure full match. Fixes #1590.f4c5645Double assignment is still needed to prevent an "unused variable" warning5c121ddRevert "Update Thin handler to better handle more options"961d976Prepare point release.- Additional commits viewable in compare view
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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill 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 versionwill 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 dependencywill 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 labelswill set the current labels as the default for future PRs for this repo and language@dependabot use these reviewerswill set the current reviewers as the default for future PRs for this repo and language@dependabot use these assigneeswill set the current assignees as the default for future PRs for this repo and language@dependabot use this milestonewill set the current milestone as the default for future PRs for this repo and language@dependabot badge mewill 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:
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)