PT-2026-49557

CVE-2026-49458

·

Publicado

2026-06-15

·

Atualizado

2026-09-25

Descrição por

CVSS 3.1
6.1
Média
MétricasAV: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.
Explorabilidade
Exploit
Correção
Impactos
Fornecedores
Produtos afetados
Identificadores relacionados
GHSA-HPCV-96WG-7VJ8
ECHO-620B-E534-5A35
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾