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
| Vetor | AV: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
Produtos afetados
@Rootio/Xmldom Xmldom
@Xmldom/Xmldom
Node-Xmldom
Xmldom