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

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 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 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-49459
GHSA-R47G-FVHR-H676

Produtos afetados

@Rootio/Dompurify
Dompurify
Dompurify.Js
Node-Dompurify