Skip to content

Releases: cure53/DOMPurify

DOMPurify 2.0.7

21 Oct 10:01
Compare
Choose a tag to compare
  • 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

10 Oct 08:42
7acc4c3
Compare
Choose a tag to compare
  • 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

08 Oct 09:16
64fe2f0
Compare
Choose a tag to compare
  • Fixed a logical issue causing overly aggressive SVG removal spotted by @thorn0

DOMPurify 2.0.4

07 Oct 13:32
5476eb9
Compare
Choose a tag to compare

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

25 Sep 16:26
d16ba74
Compare
Choose a tag to compare
  • 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

23 Sep 09:39
ffac2ce
Compare
Choose a tag to compare

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

19 Sep 09:28
4c8ca9d
Compare
Choose a tag to compare
  • 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

12 Sep 17:03
41766f5
Compare
Choose a tag to compare

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
  • Added support for more attributes
  • Fixed a minor CSP warning

DOMPurify 1.0.11

18 Jun 13:37
3c1c0d7
Compare
Choose a tag to compare
  • Fixed a minor problem with persistent config flags
  • Fixed a problem with extraneous HTML elements
  • Fixed some minor issues in README and Demo
  • Expanded the array of permitted SVG properties
  • Expanded the array of permitted HTML properties

DOMPurify 1.0.10

19 Feb 13:36
b537cab
Compare
Choose a tag to compare
  • Fixed a possible security problem when SAFE_FOR_TEMPLATES is true (default is false), thanks @masatokinugawa
  • Fixed a security problem when ALLOWED_TAGS or ADD_TAGS white-lists noembed or noscript (not the default), thanks @masatokinugawa
  • Added better internal code hardening, thanks @choumx
  • Extended the SVG attribute whitelist
  • Added more tests
  • Added better browser coverage for CI via BrowserStack
  • Cleaned up legacy browser coverage for CI via BrowserStack