Skip to content

fix(deps): bump dompurify from 3.2.4 to 3.4.11#886

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/dompurify-3.4.11
Open

fix(deps): bump dompurify from 3.2.4 to 3.4.11#886
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/dompurify-3.4.11

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 25, 2026

Copy link
Copy Markdown
Contributor

Bumps dompurify from 3.2.4 to 3.4.11.

Release notes

Sourced from dompurify's releases.

DOMPurify 3.4.11

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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.

... (truncated)

Commits
Install script changes

This version adds prepare script that runs during installation. Review the package contents before updating.


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 show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @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)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.2.4 to 3.4.11.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](cure53/DOMPurify@3.2.4...3.4.11)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.4.11
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Jun 25, 2026
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Jun 25, 2026
@netlify

netlify Bot commented Jun 25, 2026

Copy link
Copy Markdown

Deploy Preview for phillips-seldon ready!

Name Link
🔨 Latest commit 8c42c26
🔍 Latest deploy log https://app.netlify.com/projects/phillips-seldon/deploys/6a3d328f258e8e000862ea62
😎 Deploy Preview https://deploy-preview-886--phillips-seldon.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@davidicus davidicus left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dependabot squash and merge

@chromatic-com

chromatic-com Bot commented Jun 25, 2026

Copy link
Copy Markdown

Tip

All tests passed and all changes approved!

🟢 UI Tests: 464 tests unchanged
🟢 UI Review: 232 stories published -- no changes
Storybook icon Storybook Publish: 232 stories published

@github-actions

Copy link
Copy Markdown

Copy link
Copy Markdown
Contributor

🏷️ Dependency Upgrade Risk Assessment: dependency-upgrade-risk:low

What is DOMPurify?

DOMPurify is a DOM-based XSS sanitizer for HTML. It strips potentially dangerous content (scripts, event handlers, malicious attributes) from HTML strings while preserving safe markup. It is a widely used library for safely rendering HTML from untrusted sources like a CMS.


How It's Used in Our Codebase

Usage breadth: Listed as a production dependency in seldon, but not directly imported in any source code.

  • seldondompurify (^3.2.4) and @types/dompurify are listed in package.json under dependencies. However, after searching all TypeScript and JavaScript source files in seldon/src/, no file imports or calls DOMPurify. It is an orphaned dependency in seldon's manifest — present in the package but unused by any component, hook, or utility.

  • phillips-public-remix — The public site does actively use DOMPurify indirectly via isomorphic-dompurify (a server/client-safe wrapper). It sanitizes CMS-sourced HTML in app/components/HTMLParser/HTMLParser.tsx, specifically allowing <iframe> tags for embedded content while stripping scripts and event handlers. This usage is completely independent of this bumpphillips-public-remix has its own pinned version of isomorphic-dompurify which carries its own dompurify transitive dependency. This seldon bump does not affect that code path.


Scope of Changes: 3.2.4 → 3.4.11

Nine patch/minor versions with backward-compatible improvements:

Version Key Change
3.4.5 Fixed a sanitization bypass via the new <selectedcontent> HTML element (security)
3.4.6 Fixed DOM Clobbering issues in IN_PLACE mode; hardened cross-realm Shadow DOM sanitization
3.4.7 Hardened Shadow Root handling in IN_PLACE; fixed permanent hook pollution
3.4.8 Fixed Trusted Types policy handling; fixed node iterator for template scrubbing
3.4.9 Further IN_PLACE and Trusted Types improvements; added more test coverage
3.4.10 Internal refactor + performance improvements; no API changes
3.4.11 Fixed leaky config for hooks via setConfig

No breaking API changes. Standard DOMPurify.sanitize(html, config) calls continue to work identically.


Risk Rationale

This is rated low because:

  1. seldon has no source code that imports or calls DOMPurify. There are zero code paths in any component, test, or utility file that invoke DOMPurify.sanitize() or any other DOMPurify API. The dependency is effectively unused by the library itself.
  2. No API-breaking changes across any of the 9 versions between 3.2.4 and 3.4.11.
  3. Downstream consumers are unaffectedphillips-public-remix uses its own independent copy of DOMPurify via isomorphic-dompurify and will not pick up this version change.

Regression Test Checklist

Since seldon has no direct DOMPurify usage, testing focuses on confirming the dependency update doesn't break the package build or any consumer:

  • Run the full seldon test suite: npm test
  • Build the seldon package and verify clean output: npm run build
  • Run Storybook to confirm all components render correctly (especially any that accept dangerouslySetInnerHTML or raw HTML props): npm run storybook
  • After publishing the updated seldon package, verify that phillips-public-remix HTML rendering components (lot descriptions, CMS content in HTMLParser.tsx, iframe embeds) continue to render correctly
  • Run npm audit post-merge to confirm no newly introduced vulnerabilities

Generated by Claude Code

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 dependency-upgrade-risk:low javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants