Plataforma
nodejs
Componente
xmldom
Corrigido em
0.6.1
0.8.13
0.9.1
0.6.1
A vulnerabilidade CVE-2026-34601 permite que strings controladas pelo atacante contendo o terminador CDATA ]]> sejam inseridas em um nó CDATASection no @xmldom/xmldom. Durante a serialização, o XMLSerializer emite o conteúdo CDATA verbatim, permitindo a injeção de estrutura XML e manipulação da lógica de negócios. Afeta versões ≤0.6.0. Não há correção oficial disponível.
A vulnerabilidade CVE-2026-34601 em @xmldom/xmldom permite que um atacante injete código XML malicioso na saída serializada. Especificamente, a inserção de strings controladas pelo atacante contendo o terminador CDATA ]]> dentro de um nó CDATASection pode resultar na criação de marcação XML ativa em vez de texto simples. O serializador, ao não validar ou dividir corretamente o terminador, permite que ele seja interpretado como parte da estrutura XML. Isso pode levar à manipulação da lógica de negócios em aplicativos que processam a saída XML, pois o atacante pode alterar a estrutura do documento XML, injetando elementos ou atributos inesperados. O risco é significativo para aplicativos que dependem de @xmldom/xmldom para a manipulação e serialização de XML.
Esta vulnerabilidade é explorada ao inserir strings maliciosas contendo ]]> dentro de um nó CDATASection. Quando o XMLSerializer serializa o documento, ele interpreta incorretamente ]]> como o fim da seção CDATA e o início de um novo elemento XML. Isso permite que o atacante injete elementos XML arbitrários no documento. O sucesso da exploração depende da capacidade do atacante de controlar a entrada que é passada para @xmldom/xmldom e da vulnerabilidade do aplicativo que processa a saída XML. A exploração pode ocorrer em aplicativos web que processam dados XML fornecidos pelo usuário, ou em qualquer processo que utilize @xmldom/xmldom para gerar XML.
Applications built on Node.js that utilize the @xmldom/xmldom library for XML processing are at risk. This includes applications that parse XML data from external sources, such as APIs or user uploads, without proper validation. Shared hosting environments where multiple applications share the same Node.js runtime are particularly vulnerable, as a compromise of one application could potentially impact others.
• nodejs / server:
ps aux | grep xmldom
find / -name "*xmldom*" -type d -print• generic web:
curl -I <your_application_url> | grep XML
grep -r 'CDATA[[]]' /var/log/apache2/access.logdisclosure
Status do Exploit
EPSS
0.05% (percentil 17%)
CISA SSVC
Vetor CVSS
Atualmente, não existe uma correção (fix) disponível para CVE-2026-34601. A mitigação principal é evitar o uso de @xmldom/xmldom para processar dados não confiáveis. Se for necessário utilizar a biblioteca, recomenda-se sanitizar rigorosamente qualquer entrada de dados antes de criar nós CDATASection. Isso envolve remover ou escapar o terminador ]]>. Além disso, deve-se avaliar a possibilidade de atualizar para uma versão mais segura da biblioteca assim que estiver disponível. Monitorar as atualizações de segurança de @xmldom/xmldom é crucial para aplicar a solução assim que for publicada. A validação e o saneamento da entrada são as defesas mais importantes na ausência de uma correção direta.
Actualizar la biblioteca xmldom a la versión 0.6.0 o superior, o a las versiones 0.8.12 o 0.9.9 o superior, según corresponda, para corregir la vulnerabilidad de inyección XML. Esto evitará que cadenas controladas por el atacante se inserten en nodos CDATASection y se interpreten como marcado XML activo.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
CDATA (Character Data) é uma seção em um documento XML usada para conter texto que não deve ser interpretado como marcação XML.
Permite que um atacante modifique a estrutura do documento XML, o que pode levar à manipulação da lógica de negócios e, potencialmente, à execução de código malicioso.
Evite processar dados não confiáveis e sanitize rigorosamente qualquer entrada antes de criar nós CDATASection. Monitore as atualizações de segurança.
Não existe uma correção direta. A sanitização da entrada é a melhor mitigação temporária.
Revise o código que usa @xmldom/xmldom para identificar qualquer local onde dados não confiáveis são processados em nós CDATASection.
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.