Releases: cure53/DOMPurify
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
- Added support for more attributes
- Fixed a minor CSP warning
DOMPurify 1.0.11
- 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
- Fixed a possible security problem when
SAFE_FOR_TEMPLATES
istrue
(default isfalse
), thanks @masatokinugawa - Fixed a security problem when
ALLOWED_TAGS
orADD_TAGS
white-listsnoembed
ornoscript
(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
DOMPurify 1.0.9
- Extended array of tested browsers
- Fixed a build error caused by npm@natives
- Optimized handling of leading white-space
- Squashed a memory leak
- Removed a spurious alert from internal tests
- Removed internal test for fixed Edge mXSS
Recommended read, covering Trusted Types and compatibility implications:
https://github.com/cure53/DOMPurify#what-about-dompurify-and-trusted-types
DOMPurify 1.0.8
- Reduced installed library footprint a bit
- Added better in-depth protection against Gadget XSS, thanks Jun!
- Added cosmetic changes to README.md
- Added several new tests
DOMPurify 1.0.7
- Fixed a bypass for older MS Edge found by Gareth Heyes / @hackvertor
DOMPurify 1.0.6
- Added new configuration flag IN_PLACE for very fast "in place" node sanitization
- See #288 for additional details
DOMPurify 1.0.5
- Added better test coverage for latest browsers
- Added better test coverage for latest NodeJS
- Fixed a loop when ALLOW_TAGS-collides with WHOLE_DOCUMENT
- Fixed a CDATA encoding bug with SAFE_FOR_JQUERY
- Removed Safari 10.1/11.1 TP specific security workarounds