PT-2026-49558 · Root+5 · @Rootio/Dompurify+3
CVE-2026-49459
·
Publicado
2026-06-15
·
Atualizado
2026-08-31
CVSS v3.1
6.1
Média
| Vetor | AV: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
Ao utilizar
DOMPurify.sanitize(root, { IN PLACE: true }) com um elemento <form> como root, um invasor pode ignorar a sanitização de atributos. Isso ocorre se um elemento descendente possuir um atributo name que sobrescreva (clobber) propriedades verificadas pela função isClobbered() (como nodeName, setAttribute, namespaceURI, insertBefore, hasChildNodes, childNodes, attributes, textContent, removeChild ou removeAttribute).A falha acontece porque a função
forceRemove() não consegue remover o nó raiz quando este não possui um elemento pai, e a função sanitizeAttributes() retorna prematuramente ao detectar um nó sobrescrito, assumindo que ele já foi removido. Isso permite que atributos de manipuladores de eventos (ex: onmouseover, onclick), URIs javascript: nos atributos action ou formaction, e atributos id de clobbering de DOM persistam no elemento raiz. Além disso, esta falha afeta a configuração SAFE FOR TEMPLATES, permitindo que a sintaxe bruta de templates sobreviva nos atributos da raiz.Recomendações
Atualize o DOMPurify para a versão 3.4.6 ou posterior.
Como medida paliativa temporária, evite usar a opção
IN PLACE: true quando o nó root for construído a partir de HTML não confiável.Exploit
Correção
XSS
Protection Mechanism Failure
Prototype Pollution
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
@Rootio/Dompurify
Dompurify
Dompurify.Js
Node-Dompurify