Release notes copied verbatim from the commit message, which can be found here: 0789e21284c33d89ebc4ab4ca6f759b9375ac9d3
Discovered by Yeting Li, c/o Colin Ife via Snyk.io.
A ReDos (Regular Expression Denial of Service) vulnerability
was responsibly disclosed to me via email by Colin on
Mar 5 2021 regarding an exponential time complexity for
linearly increasing input lengths for hwb() color strings.
Strings reaching more than 5000 characters would see several
milliseconds of processing time; strings reaching more than
50,000 characters began seeing 1500ms (1.5s) of processing time.
The cause was due to a the regular expression that parses
hwb() strings - specifically, the hue value - where
the integer portion of the hue value used a 0-or-more quantifier
shortly thereafter followed by a 1-or-more quantifier.
This caused excessive backtracking and a cartesian scan,
resulting in exponential time complexity given a linear
increase in input length.
Thank you Yeting Li and Colin Ife for bringing this to my
attention in a secure, responsible and professional manner.
A CVE will not be assigned for this vulnerability.
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
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/GovTechSG/mcf-boilerplate-js/network/alerts).
:warning: We detected 21 security issues in this pull request:
Vulnerable Libraries (21)
Severity | Details
----- | --------
Medium | [@lerna/add@3.21.0](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>3.21.0*
Medium | [@lerna/bootstrap@3.21.0](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>3.21.0*
Medium | [@lerna/changed@3.21.0](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>3.21.0*
Medium | [@lerna/clean@3.21.0](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>3.21.0*
Medium | [@lerna/diff@3.21.0](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>3.21.0*
Medium | [@lerna/exec@3.21.0](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>3.21.0*
Medium | [@lerna/import@3.22.0](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>3.22.0*
Medium | [@lerna/init@3.21.0](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>3.21.0*
Medium | [@lerna/link@3.21.0](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>3.21.0*
Medium | [@lerna/list@3.21.0](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>3.21.0*
Medium | [@lerna/publish@3.22.1](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>3.22.1*
Medium | [@lerna/run@3.21.0](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>3.21.0*
High | [@lerna/version@3.22.1](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>3.22.1*
Critical | [handlebars@4.7.6](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>=4.7.7*
Medium | [lerna@3.22.1](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>=4.0.0*
Medium | [nodemon@1.19.4](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>=2.0.12*
Medium | [ssri@6.0.1](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>6.0.1 || >7.1.0 || 8.0.0*
Medium | [babel-cli@6.26.0](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) - **no patch available**
High | [sshpk@unknown](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>1.13.1*
Medium | [stringstream@unknown](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>0.0.5*
High | [tough-cookie@unknown](https://github.com/GovTechSG/mcf-boilerplate-js/blob/fbee79812c6e1a2efbd3d6f9354b8d6487be1e6f/packages/logger/package-lock.json) (t) upgrade to: *>=2.3.3*
More info on how to fix Vulnerable Libraries in [JavaScript](https://docs.guardrails.io/docs/en/vulnerabilities/javascript/using_vulnerable_libraries.html?utm_source=ghpr).
Bumps color-string from 1.5.4 to 1.5.5.
Release notes
Sourced from color-string's releases.
Commits
966ae4d
1.5.50789e21
fix ReDos in hwb() parser (low-severity)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 You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/GovTechSG/mcf-boilerplate-js/network/alerts).