
Apache Tika 3.2.1을 사용하여 악의적인 PDF 업로드를 통해 CVE-2025-54988 XXE 익스플로잇을 테스트하기 위한 의도적으로 취약하게 만든 Spring Boot 애플리케이션
문서 처리 및 텍스트 추출을 위해 Apache Tika 3.2.1을 사용하는 Spring Boot 애플리케이션입니다.
Docker 필요
./start-app.sh
or docker compose up -d
추출을 위해 악성 PDF(https://github.com/mgthuramoemyint/POC-CVE-2025-54988)를 엔드포인트에 업로드합니다.
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
Tika를 사용하여 파일 유형을 식별할 수 있습니다. 이 기능은 취약점을 트리거하지 않는 것으로 보입니다.
Tika를 사용하여 데이터를 추출하면 XXE가 트리거됩니다. 이는 tika 객체의 .parseToString 메소드 또는 PDFParser 객체의 .parse 메소드를 통해 발생합니다. 더 많은 메소드가 있을 수 있습니다. XXE는 파서 추출 메소드에서만 실행되는 것이 합리적입니다.
CVE-2025-54988 CVE-2025-66516