event-sourcing-rails-todo-app-demo
event-sourcing-rails-todo-app-demo copied to clipboard
[Security] Bump addressable from 2.5.2 to 2.8.0
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
- https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS
- https://cwe.mitre.org/data/definitions/1333.html
- https://www.regular-expressions.info/catastrophic.html
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
:compactedflag fornormalized_querynow dedupes parameters- fix broken
escape_componentalias- dropping support for Ruby 2.0 and 2.1
- adding Ruby 3.0 compatibility for development tasks
- drop support for
rack-mountand remove Addressable::Template#generate- performance improvements
- switch CI/CD to GitHub Actions
Addressable 2.7.0
- added
:compactedflag tonormalized_queryheuristic_parsehandlesmailto: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_parsepatterns are now case-insensitiveheuristic_parsehandles morefile://URI variations- fixes bug in
heuristic_parsewhen uri starts with digit- fixes bug in
request_uri=with query strings- fixes template issues with
niland?operatorfrozen_string_literalpragmas added- minor performance improvements in regexps
- fixes to eliminate warnings
Commits
6469a23Updating gemspec again2433638Merge branch 'main' of github.com:sporkmonger/addressable into maine9c76b8Merge pull request #378 from ashmaroli/flat-map56c5cf7Update the gemspecc1fed1cRequire a non-vulnerable rake0d8a312Adding note about ReDoS vulnerability89c7613Merge branch 'template-regexp' into maincf8884fNote about alias fixbb03f71Merge pull request #371 from charleystran/add_missing_encode_component_doc_entry6d1d809Adding note about :compacted normalization- 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)