
Aplicação Spring Boot deliberadamente vulnerável usando Apache Tika 3.2.1 para testar a exploração de XXE CVE-2025-54988 por meio de uploads de PDF maliciosos.
Este é um aplicativo Spring Boot que usa Apache Tika 3.2.1 para processamento de documentos e extração de texto.
Tenha Docker
./start-app.sh
ou docker compose up -d
Envie seu PDF malicioso (https://github.com/mgthuramoemyint/POC-CVE-2025-54988) para o endpoint a ser extraído.
curl -X POST -F "[email protected]" http://127.0.0.1:8080/api/extract-text
curl -X POST -F "[email protected]" http://127.0.0.1:8080/api/detect-type
curl -X POST -F "[email protected]" http://127.0.0.1:8080/api/extract-pdf
O Tika pode ser usado para identificar Tipos de Arquivo. Essa capacidade não parece acionar a vulnerabilidade.
Quando o Tika é usado para extrair os dados, ele acionará o XXE. Isso acontece por meio do método .parseToString dos objetos tika ou do método .parse dos objetos PDFParser. Talvez haja mais métodos. Faz sentido que o XXE seja executado apenas em um método de extração do parser.
CVE-2025-54988 CVE-2025-66516