PT-2026-34617 · Root+4 · @Rootio/Xmldom Xmldom+3

Tharvid

·

Publicado

2026-04-22

·

Atualizado

2026-06-04

·

CVE-2026-41674

CVSS v4.0

8.7

Alta

VetorAV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Nome do Software Vulnerável e Versões Afetadas @xmldom/xmldom versões anteriores a 0.8.13 @xmldom/xmldom versões anteriores a 0.9.10 xmldom versões anteriores a 0.6.0
Descrição O pacote serializa os campos do nó DocumentType (internalSubset, publicId e systemId) literalmente, sem escape ou validação. Quando esses campos são definidos programaticamente através da função createDocumentType() ou gravações diretas de propriedades usando strings controladas por um invasor, o método XMLSerializer.serializeToString pode produzir uma saída onde a declaração DOCTYPE é encerrada prematuramente, permitindo que marcações arbitrárias apareçam fora dela. Especificamente, a injeção de ]> no internalSubset ou > no systemId pode fechar o DOCTYPE precocemente, enquanto a manipulação do publicId pode quebrar o contexto de aspas para injetar entradas SYSTEM falsas. Isso pode levar a ataques do tipo XXE se analisadores XML subsequentes reprocessarem a saída com a expansão de entidades habilitada.
Recomendações Atualize o @xmldom/xmldom para as versões 0.8.13 ou 0.9.10. Atualize o xmldom para uma versão posterior a 0.6.0. Como medida de mitigação, passe a opção { requireWellFormed: true } para o método serializeToString() para habilitar a validação dos campos DocumentType e lançar um InvalidStateError ao detectar sequências de injeção.

Exploit

Correção

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-41674
GHSA-F6WW-3GGP-FR8H

Produtos afetados

@Rootio/Xmldom Xmldom
@Xmldom/Xmldom
Node-Xmldom
Xmldom