| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- mongodb
- java
- commons-fileupload
- OS
- 파스칼케이스
- 카멜케이스
- nginx
- 테이블정의서
- Tika
- Entity
- springboot
- 케밥케이스
- javax
- redis
- jpa
- spring
- inmemory
- 외부허용
- Docker
- r2dbc
- for
- linux
- spring-rest-docs
- MongoTemplate
- 스네이크케이스
- 반복
- banner
- websokcet
- 2중for
- 태그없음
Archives
- Today
- Total
갱00
Apache Tika 보안 이슈 (CVE-2025-66516 / CVE-2025-54988) 본문
반응형
개요
2025년 12월, Apache Tika에서 최대 심각도(CVSS 10.0) 의 심각한 보안 취약점이 공개되었습니다.
https://nvd.nist.gov/vuln/detail/CVE-2025-66516
해당 취약점은 XXE(XML External Entity) 주입을 유발하며, 조작된 PDF(XFA) 파일을 처리하는 과정에서 공격자가 내부 파일 유출, SSRF, 서비스 장애(DoS), 심하면 원격 코드 실행(RCE)까지 유발할 수 있음이 확인되었습니다.
| CVE-2025-54988 | 8.4 | 초기 보고. PDF/XFA 파싱에서 XXE 발생. |
| CVE-2025-66516 | 10.0 (Critical) | 영향 범위가 core 모듈 전체까지 확대됨이 확인되어 재보고됨. |
영향 모듈 및 취약 버전
영향 받는 모듈
- tika-core
- tika-parsers
- tika-pdf-module
취약한 버전 범위
- tika-core: 1.13 ~ 3.2.1
- tika-pdf-module: 2.0.0 ~ 3.2.1
- tika-parsers (1.x): 1.13 ~ 1.28.5
초기에는 PDF 모듈만 취약한 것처럼 보였으나, 실제로는 Tika core도 XXE 영향을 받아 전체 업데이트가 필요하다고 합니다.
취약점 상세 설명
문제 원인
Tika는 PDF/XFA 문서를 분석할 때 내부적으로 XML parser 를 사용합니다. 이 과정에서 외부 엔티티를 차단하지 않은 상태로 parsing 하여 악성 XML 엔티티가 Load 될 수 있습니다.
공격자가 할 수 있는 것
- 내부 파일 유출
- /etc/passwd 같은 민감 파일 로드 가능.
- SSRF 공격
- 내부 네트워크 포트 스캔, 내부 서버 호출 가능.
- 서비스 장애(DoS)
- 거대한 파일 또는 무한 loop entity로 서버 리소스 소모.
- RCE 가능성
- 특정 환경에서 외부 엔티티를 통해 원격 코드 실행까지 이어질 수 있음.]
특히 위험한 이유
- Tika는 사용자가 업로드한 문서를 파싱하는 곳에서 매우 자주 사용됩니다. 하여 인증 없는 외부 입력을 처리하는 경로이므로 공격 표면이 넓습니다.
해결 방법
1) 라이브러리 업데이트 (최우선)
다음 버전 이상으로 즉시 업그레이드가 필요합니다.
- tika-core 3.2.2+
- tika-pdf-module 3.2.2+
- tika-parsers 1.28.6+ 이상
2) 업데이트가 당장 어렵다면 (임시 대응)
PDF/XFA 파싱 비활성화
PDFParser에서 XFA 비활성화 옵션을 강제할 수 있습니다.
PDFParserConfig config = new PDFParserConfig();
config.setEnableXFA(false);
AutoDetectParser parser = new AutoDetectParser();
parser.setPDFParserConfig(config);
외부 엔티티 차단
XML 파서에 아래 옵션 적용하여 임시적으로 대응할 수 있습니다.
factory.setFeature("<http://apache.org/xml/features/disallow-doctype-decl>", true);
factory.setFeature("<http://xml.org/sax/features/external-general-entities>", false);
factory.setFeature("<http://xml.org/sax/features/external-parameter-entities>", false);
업로드 파일에 대한 사전 검증 강화
- 확장자 / MIME 타입 / Magic number 교차 검증
- 파일 크기 제한
- 악성 압축(zip bomb) 탐지
Tika 처리 전 격리 환경 사용
- 업로드 파일을 별도 프로세스에서 parsing
- parsing timeout 설정
반응형