ant-design-blocks
ant-design-blocks copied to clipboard
[Security] Bump handlebars from 4.3.4 to 4.7.7
Bumps handlebars from 4.3.4 to 4.7.7. This update includes security fixes.
Vulnerabilities fixed
Sourced from The GitHub Security Advisory Database.
Prototype Pollution in handlebars Versions of
handlebars
prior to 3.0.8 or 4.5.3 are vulnerable to prototype pollution. It is possible to add or modify properties to the Object prototype through a malicious template. This may allow attackers to crash the application or execute Arbitrary Code in specific conditions.Recommendation
Upgrade to version 3.0.8, 4.5.3 or later.
Affected versions: >= 4.0.0 < 4.5.3
Sourced from The GitHub Security Advisory Database.
Arbitrary Code Execution in handlebars Versions of
handlebars
prior to 3.0.8 or 4.5.2 are vulnerable to Arbitrary Code Execution. The package's lookup helper fails to properly validate templates, allowing attackers to submit templates that execute arbitrary JavaScript in the system. It can be used to run arbitrary code in a server processing Handlebars templates or on a victim's browser (effectively serving as Cross-Site Scripting).The following template can be used to demonstrate the vulnerability:
{{#with split as |a|}} {{pop (push "alert('Vulnerable Handlebars JS');")}} {{#with (concat (lookup join (slice 0 1)))}} {{#each (slice 2 3)}} {{#with (apply 0 a)}} {{.}} {{/with}} {{/each}} {{/with}} {{/with}} {{/with}}```
Recommendation
Upgrade to version 3.0.8, 4.5.2 or later.
Affected versions: >= 4.0.0 < 4.5.2
Sourced from The GitHub Security Advisory Database.
Denial of Service in handlebars Affected versions of
handlebars
are vulnerable to Denial of Service. The package's parser may be forced into an endless loop while processing specially-crafted templates. This may allow attackers to exhaust system resources leading to Denial of Service.Recommendation
Upgrade to version 4.4.5 or later.
Affected versions: >= 4.0.0 < 4.4.5
Sourced from The Node Security Working Group.
Denial of Service Crash Node.js process from handlebars using a small and simple source
Affected versions: <4.6.0
Changelog
Sourced from handlebars's changelog.
v4.7.7 - February 15th, 2021
- fix weird error in integration tests - eb860c0
- fix: check prototype property access in strict-mode (#1736) - b6d3de7
- fix: escape property names in compat mode (#1736) - f058970
- refactor: In spec tests, use expectTemplate over equals and shouldThrow (#1683) - 77825f8
- chore: start testing on Node.js 12 and 13 - 3789a30
(POSSIBLY) BREAKING CHANGES:
- the changes from version 4.6.0 now also apply in when using the compile-option "strict: true". Access to prototype properties is forbidden completely by default, specific properties or methods can be allowed via runtime-options. See #1633 for details. If you are using Handlebars as documented, you should not be accessing prototype properties from your template anyway, so the changes should not be a problem for you. Only the use of undocumented features can break your build.
That is why we only bump the patch version despite mentioning breaking changes.
v4.7.6 - April 3rd, 2020
Chore/Housekeeping:
- #1672 - Switch cmd parser to latest minimist (
@dougwilson
Compatibility notes:
- Restored Node.js compatibility
v4.7.5 - April 2nd, 2020
Chore/Housekeeping:
Node.js version support has been changed to v6+Reverted in 4.7.6Compatibility notes:
Node.js < v6 is no longer supportedReverted in 4.7.6v4.7.4 - April 1st, 2020
Chore/Housekeeping:
Compatibility notes:
... (truncated)
Commits
a9a8e40
v4.7.7e66aed5
Update release notes7d4d170
disable IE in Saucelabs testseb860c0
fix weird error in integration testsb6d3de7
fix: check prototype property access in strict-mode (#1736)f058970
fix: escape property names in compat mode (#1736)77825f8
refator: In spec tests, use expectTemplate over equals and shouldThrow (#1683)3789a30
chore: start testing on Node.js 12 and 13e6ad93e
v4.7.62bf4fc6
Update release notes- 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 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)