Skip to content

Releases: cure53/DOMPurify

DOMPurify 3.4.13

Choose a tag to compare

@cure53 cure53 released this 03 Aug 14:11
3.4.13
3067f77
  • Fixed an issue with hook removal during IN_PLACE sanitization, thanks @koyokr
  • Fixed an issue with hooks potentially bypassing the clone guard, thanks @AkshayJainG
  • Fixed an issue with DOM clobbering via ownerDocument during IN_PLACE, thanks @AkshayJainG
  • Bumped several dependencies where possible

DOMPurify 3.4.12

Choose a tag to compare

@cure53 cure53 released this 11 Jul 12:02
3.4.12
a9ca1e5
  • Fixed an issue where a hook would not get called for custom elements, thanks @Rikuxx0
  • Hardened the handling of hooks removing elements, @mkrause-bee360
  • Added support for a few new SVG attributes, thanks @cbn-falias & @Develop-KIM
  • Hardened the handling of declarative partial updates
  • Updated the documentation is several spots, README, wiki, etc.
  • Bumped several dependencies where possible

DOMPurify 3.4.11

Choose a tag to compare

@cure53 cure53 released this 17 Jun 10:17
3.4.11
0cae518
  • Fixed an issue with a leaky config for hooks via setConfig, thanks @trace37labs
  • Bumped vulnerable development dependencies to arrive at plain 0 with npm audit
  • Updated the osv-scanner suppression list as no vulnerable dependencies are left for now
  • Updated up the linting tool-chain and removed now-redundant lint directives
  • Updated the documentation is several spots, README, wiki, etc.
  • Bumped several dependencies where possible

DOMPurify 3.4.10

Choose a tag to compare

@cure53 cure53 released this 12 Jun 12:34
3.4.10
6ee5716
  • Refactored codebase for clarity: extracted the public type declarations into types.ts
  • Decomposed the three largest sanitizer functions into focused helpers
  • Removed duplicated defaults and dead branches, consolidated SAFE_FOR_TEMPLATES scrubbing into single shared path
  • Improved per-node performance by hoisting the mXSS probe regexes and testing textContent before innerHTML
  • Added a deterministic micro-benchmark harness (npm run bench) with a --compare mode
  • Reduced CI cost by running the full three-engine browser suite once per PR
  • Refreshed the demos/ folder so every demo runs again, and added a SVG-via-<img> demo
  • Documented the bench and test:happydom scripts in the README
  • Completed the Attack Classes & Bypass History wiki page
  • Bumped several dependencies where possible

DOMPurify 3.4.9

Choose a tag to compare

@cure53 cure53 released this 10 Jun 08:41
3.4.9
5210247
  • Further improved the handling of Trusted Types config options, thanks @offset
  • Further improved the handling of IN_PLACE sanitization, thanks @mozfreddyb
  • Added more test coverage for IN_PLACE and Trusted Types related usage
  • Bumped several dependencies where possible
  • Updated README and wiki with more accurate documentation & attack samples

DOMPurify 3.4.8

Choose a tag to compare

@cure53 cure53 released this 03 Jun 12:04
3.4.8
bcdd828
  • Cleaned up the repository root, renamed some and removed unneeded files
  • Fixed an issue with handling of Trusted Types policies, thanks @fulstadev
  • Fixed the node iterator for better template scrubbing, thanks @IamLeandrooooo
  • Included formerly missing LICENSE-MPL in published npm package, thanks @asamuzaK
  • Bumped several dependencies where possible

DOMPurify 3.4.7

Choose a tag to compare

@cure53 cure53 released this 27 May 11:36
3.4.7
ca30f07
  • Hardened the handling of Shadow Roots when using IN_PLACE, thanks @GameZoneHacker
  • Removed a problem leading to permanent hook pollution, thanks @offset
  • Refactored the test suite and expanded test coverage significantly

DOMPurify 3.4.6

Choose a tag to compare

@cure53 cure53 released this 26 May 13:04
3.4.6
bb7739e
  • Fixed several issues with DOM Clobbering in IN_PLACE mode, thanks @offset & @Bankde
  • Hardened the checks for cross-realm IN_PLACE and Shadow DOM sanitization, thanks @offset & @Bankde
  • Added more test coverage for IN_PLACE and general DOM Clobbering attacks
  • Bumped several dependencies where possible

DOMPurify 3.4.5

Choose a tag to compare

@cure53 cure53 released this 18 May 07:41
3.4.5
011b0c7
  • Fixed a bypass caused by the new HTML element selectedcontent added in 3.4.4, thanks @KabirAcharya

Note that this is a security release for an issue introduced in 3.4.4 and should be upgraded to immediately.

DOMPurify 3.4.4

DOMPurify 3.4.4 Pre-release
Pre-release

Choose a tag to compare

@cure53 cure53 released this 17 May 10:35
3.4.4
5817ad9
  • Added the selectedcontent element to default allow-list, thanks @lukewarlow
  • Added the command and commandfor attributes to default allowed-list, thanks @lukewarlow
  • Added better template scrubbing for IN_PLACE operations, thanks @DEMON1A
  • Added stronger checks for cross-realm windows, thanks @DEMON1A & @fg0x0
  • Updated demo website and made sure it uses the latest from main
  • Updated existing workflows, fuzzer, dependabot, etc., added more tests
  • Bumped several dependencies where possible

🚨 This release had been flagged as deprecated, please use DOMPurify 3.4.5 instead 🚨