PT-2026-49557
CVE-2026-49458
·
Publicado
2026-06-15
·
Atualizado
2026-09-25
Descrição por
CVSS 3.1
6.1
MédiaMé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, comoonmouseoverouonclick, sobrevivam. - Bypass de Template: A função
sanitizeShadowDOM()e o iterador principal não reconhecem objetosDocumentFragmentna propriedade.contentde elementos<template>de reinos estrangeiros, deixando marcações executáveis dentro do template. - Bypass de Shadow DOM: A função
sanitizeAttachedShadowRoots()não reconhece objetosShadowRootde 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
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾