Skip to content

Comments

[Security] Bump dompurify from 1.0.1 to 2.0.7#254

Closed
dependabot-preview[bot] wants to merge 1 commit intodevelopfrom
dependabot/npm_and_yarn/dompurify-2.0.7
Closed

[Security] Bump dompurify from 1.0.1 to 2.0.7#254
dependabot-preview[bot] wants to merge 1 commit intodevelopfrom
dependabot/npm_and_yarn/dompurify-2.0.7

Conversation

@dependabot-preview
Copy link

Bumps dompurify from 1.0.1 to 2.0.7. This update includes security fixes.

Vulnerabilities fixed

Sourced from The GitHub Security Advisory Database.

Cross-Site Scripting in dompurify Versions of dompurify prior to 2.0.7 are vulnerable to Cross-Site Scripting (XSS). It is possible to bypass the package sanitization through Mutation XSS, which may allow an attacker to execute arbitrary JavaScript in a victim's browser.

Recommendation

Upgrade to version 2.0.7 or later.

Affected versions: < 2.0.7

Sourced from The GitHub Security Advisory Database.

Cross-Site Scripting in dompurify DOMPurify before 2.0.1 allows XSS because of innerHTML mutation XSS (mXSS) for an SVG element or a MATH element, as demonstrated by Chrome and Safari.

Affected versions: < 2.0.3

Release notes

Sourced from dompurify's releases.

DOMPurify 2.0.7

  • Fixed several mXSS vectors spotted , thanks @masatokinugawa 🙇‍♂️
  • Fixed a minor crash affecting MSIE11, see #372
  • Fixed some typos and adjusted the README

DOMPurify 2.0.6

  • Enhanced the checks for SVG-/MathML-based mXSS
  • Removed several obtrusive checks and guards that are not needed any longer
  • Added better test coverage
  • Added better handling of situations where element removal causes mXSS
  • Added better handling of content type switches causing mXSS

DOMPurify 2.0.5

  • Fixed a logical issue causing overly aggressive SVG removal spotted by @thorn0

DOMPurify 2.0.4

Another mXSS variation was spotted by @masatokinugawa and got addressed and fixed in this release.

The fixes were reviewed and no new bypasses could be spotted at the moment. Thanks, @masatokinugawa 🙇‍♂️ 🙇‍♀️!

The sanitization logic for this kind of mXSS was changed to be less aggressive and still be able to spot all recent mXSS variations we know about right now - while also avoiding risky string matching.

Prayers and thoughts that this was the final variation. But better be on the lookout for more releases soon.

DOMPurify 2.0.3

  • Fixed another mXSS variation affecting Chrome, Safari and Edge relating to HTML templates
  • Fixed a bug in the config parser leading to unexpected results

Credits for the bypass again go to Michał Bentkowski (@securityMB) of Securitum who spotted the bug in Chrome, turned it into another DOMPurify bypass, reported and helped verifying the fix 🙇‍♂️ 🙇‍♀️

DOMPurify 2.0.2

Following the release of DOMPurify 2.0.1, a more thorough internal audit against Blink-based mXSS bugs was conducted. Several mXSS variations, spotted by @masatokinugawa were addressed and fixed. The fixes were reviewed and so far no new bypasses could be spotted.

This release manages to find what is believed to be a more holistic way to prevent mXSS bugs, specifically coming from HTML attributes and tags nested inside SVG and MathML.

Further, this release also addresses a DoS problem caused by sanitization of HTML tables when configured with potentially conflicting configuration settings.

DOMPurify 2.0.1

  • Fixed a bypass affecting latest Chrome, caused by a newly discovered Chrome mXSS vulnerability
  • Added tests to cover implemented fixes

Credits go to Michał Bentkowski (@SecurityMB) of Securitum who spotted the bug in Chrome, turned it into a DOMPurify bypass, reported and helped verifying the fix. 🙇

DOMPurify 2.0.0

Note: This release makes sure that, by default only string objects are returned (if not specified otherwise). This change relates to a surprising behavior in Chrome 77 - having to do with Trusted Types.

  • Changed the default behavior for Trusted Types (See #361)
  • Added a new config flag to manually enable Trusted Types support
Commits

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)

Bumps [dompurify](https://github.com/cure53/DOMPurify) from 1.0.1 to 2.0.7. **This update includes security fixes.**
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](cure53/DOMPurify@1.0.1...2.0.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
@dependabot-preview dependabot-preview bot added dependencies Pull requests that update a dependency file security Pull requests that address a security vulnerability labels Sep 4, 2020
@dependabot-preview
Copy link
Author

Superseded by #270.

@dependabot-preview dependabot-preview bot deleted the dependabot/npm_and_yarn/dompurify-2.0.7 branch December 18, 2020 22:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file security Pull requests that address a security vulnerability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant