PT-2026-49557 · Root+5 · @Rootio/Dompurify+3

CVE-2026-49458

·

Publicado

2026-06-15

·

Atualizado

2026-08-31

CVSS v3.1

6.1

Média

VetorAV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Nome do Software Vulnerável e Versões Afetadas DOMPurify versões anteriores a 3.4.6
Descrição O DOMPurify não sanitiza corretamente nós do DOM de domínios estrangeiros de mesma origem (como aqueles de um iframe, janela popup ou aba aberta) ao utilizar o método DOMPurify.sanitize(node, { IN PLACE: true }). O problema ocorre porque a biblioteca utiliza verificações instanceof vinculadas ao reino (realm) contra construtores do reino pai. Como os construtores são únicos para cada reino, essas verificações retornam false para nós de reinos estrangeiros, fazendo com que o sanitizador ignore ramificações de segurança críticas.
Detalhes técnicos incluem:
  • Bypass de Clobbering: A função isClobbered() não reconhece elementos <form> de reinos estrangeiros, permitindo que atributos controlados por atacantes, como onmouseover ou onclick, sobrevivam.
  • Bypass de Template: A função sanitizeShadowDOM() e o iterador principal não reconhecem objetos DocumentFragment na propriedade .content de elementos <template> de reinos estrangeiros, deixando marcações executáveis dentro do template.
  • Bypass de Shadow DOM: A função sanitizeAttachedShadowRoots() não reconhece objetos ShadowRoot de reinos estrangeiros, ignorando a sanitização de toda a subárvore do shadow DOM.
Isso pode levar a cross-site scripting (XSS) quando a aplicação posteriormente insere ou ativa o nó sanitizado no DOM ativo.
Recomendações Atualize o DOMPurify para a versão 3.4.6. Como solução temporária, evite usar a opção IN PLACE: true ao sanitizar nós do DOM criados em um reino diferente da instância do DOMPurify.

Exploit

Correção

Protection Mechanism Failure

XSS

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-49458
GHSA-HPCV-96WG-7VJ8

Produtos afetados

@Rootio/Dompurify
Dompurify
Dompurify.Js
Node-Dompurify