pivotal / blog

Pivotal Engineering Blog
https://engineering.pivotal.io/
40 stars 48 forks source link

[Security] Bump rack from 2.0.7 to 2.0.8 in /pushpop #258

Closed dependabot-preview[bot] closed 4 years ago

dependabot-preview[bot] commented 4 years ago

Bumps rack from 2.0.7 to 2.0.8. This update includes a security fix.

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

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.

Unreleased

Note: There are many unreleased changes in Rack (master is around 300 commits ahead of 2-0-stable), and below is not an exhaustive list. If you would like to help out and document some of the unreleased changes, PRs are welcome.

Added

Changed

  • Use Time#httpdate format for Expires, as proposed by RFC 7231. (@​nanaya)
  • Make Utils.status_code raise an error when the status symbol is invalid instead of 500.
  • Rename Request::SCHEME_WHITELIST to Request::ALLOWED_SCHEMES.
  • Make Multipart::Parser.get_filename accept files with + in their name.
  • Add Falcon to the default handler fallbacks. (@​ioquatix)
  • Update codebase to avoid string mutations in preparation for frozen_string_literals. (@​pat)
  • Change MockRequest#env_for to rely on the input optionally responding to #size instead of #length. (@​janko)
  • Rename Rack::File -> Rack::Files and add deprecation notice. (@​postmodern).

Removed

Documentation

  • Update broken example in Session::Abstract::ID documentation. (tonytonyjan)
  • Add Padrino to the list of frameworks implmenting Rack. (@​wikimatze)
  • Remove Mongrel from the suggested server options in the help output. (@​tricknotes)
  • Replace HISTORY.md and NEWS.md with CHANGELOG.md. (@​twitnithegirl)
  • Backfill CHANGELOG.md from 2.0.1 to 2.0.7 releases. (@​drenmi)
Commits
  • e7ee459 Bumping version
  • f1a79b2 Introduce a new base class to avoid breaking when upgrading
  • 5b1cab6 Add a version prefix to the private id to make easier to migrate old values
  • 1e96e0f Fallback to the public id when reading the session in the pool adapter
  • 3ba123d Also drop the session with the public id when destroying sessions
  • 6a04bbf Fallback to the legacy id when the new id is not found
  • dc45a06 Add the private id
  • 73a5f79 revert conditionals to master
  • 4e32262 remove NullSession
  • 1c7e3b2 remove || raise and get closer to master
  • Additional commits viewable 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) - 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)
osis commented 4 years ago

@dependabot rebase

osis commented 4 years ago

@dependabot rebase

osis commented 4 years ago

@dependabot rebase