Skip to content
This repository has been archived by the owner on Jan 15, 2024. It is now read-only.

[Security] Bump addressable from 2.5.2 to 2.8.0 #220

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dependabot-preview[bot]
Copy link

Bumps addressable from 2.5.2 to 2.8.0. This update includes a security fix.

Vulnerabilities fixed

Sourced from The GitHub Security Advisory Database.

Regular Expression Denial of Service in Addressable templates

Impact

Within the URI template implementation in Addressable, a maliciously crafted template may result in uncontrolled resource consumption, leading to denial of service when matched against a URI. In typical usage, templates would not normally be read from untrusted user input, but nonetheless, no previous security advisory for Addressable has cautioned against doing this. Users of the parsing capabilities in Addressable but not the URI template capabilities are unaffected.

Patches

The vulnerability was introduced in version 2.3.0 (previously yanked) and has been present in all subsequent versions up to, and including, 2.7.0. It is fixed in version 2.8.0.

Workarounds

The vulnerability can be avoided by only creating Template objects from trusted sources that have been validated not to produce catastrophic backtracking.

References

For more information

If you have any questions or comments about this advisory:

... (truncated)

Affected versions: > 2.3.0, <= 2.7.0

Changelog

Sourced from addressable's changelog.

Addressable 2.8.0

  • fixes ReDoS vulnerability in Addressable::Template#match
  • no longer replaces + with spaces in queries for non-http(s) schemes
  • fixed encoding ipv6 literals
  • the :compacted flag for normalized_query now dedupes parameters
  • fix broken escape_component alias
  • dropping support for Ruby 2.0 and 2.1
  • adding Ruby 3.0 compatibility for development tasks
  • drop support for rack-mount and remove Addressable::Template#generate
  • performance improvements
  • switch CI/CD to GitHub Actions

Addressable 2.7.0

  • added :compacted flag to normalized_query
  • heuristic_parse handles mailto: more intuitively
  • dropped explicit support for JRuby 9.0.5.0
  • compatibility w/ public_suffix 4.x
  • performance improvements

Addressable 2.6.0

  • added tld= method to allow assignment to the public suffix
  • most heuristic_parse patterns are now case-insensitive
  • heuristic_parse handles more file:// URI variations
  • fixes bug in heuristic_parse when uri starts with digit
  • fixes bug in request_uri= with query strings
  • fixes template issues with nil and ? operator
  • frozen_string_literal pragmas added
  • minor performance improvements in regexps
  • fixes to eliminate warnings
Commits
  • 6469a23 Updating gemspec again
  • 2433638 Merge branch 'main' of github.com:sporkmonger/addressable into main
  • e9c76b8 Merge pull request #378 from ashmaroli/flat-map
  • 56c5cf7 Update the gemspec
  • c1fed1c Require a non-vulnerable rake
  • 0d8a312 Adding note about ReDoS vulnerability
  • 89c7613 Merge branch 'template-regexp' into main
  • cf8884f Note about alias fix
  • bb03f71 Merge pull request #371 from charleystran/add_missing_encode_component_doc_entry
  • 6d1d809 Adding note about :compacted normalization
  • 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:

  • 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)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants