## DOMPurify SAFE_FOR_TEMPLATES bypass: split template expressions survive in attached shadow root content on DOM output modes

- 種別: advisory
- 重大度: critical
- 関連技術: nodejs
- 公開日時: 2026-10-22T16:25:31.000Z
- 情報源: GitHub Advisory Database (https://github.com/advisories/GHSA-cg2g-xh64-v4q7)
- パーマリンク: https://vulnpulse.app/items/ghsa-ghsa-cg2g-xh64-v4q7

影響: npm:dompurify >= 3.4.4, <= 3.4.16 → 3.4.17
When DOMPurify is configured with SAFE_FOR_TEMPLATES: true together with a DOM-returning mode (RETURN_DOM: true, RETURN_DOM_FRAGMENT: true, or IN_PLACE: true), template expressions such as {{...}}, ${...}, and survive sanitization inside the text content of an attached shadow root. The post-walk safety net _scrubTemplateExpressions (src/purify.ts:1717) was extended to recurse into .content, but it never recurses into attached shadow roots. An attacker who can supply a DOM node carrying a shadow…