【高危】Apache Tika XML外部实体注入漏洞
漏洞描述
Apache Tika 是一款开源的 Java 工具包,主要用于从各种文档格式中提取元数据与结构化文本内容。
受影响版本中,XMLReaderUtils.java 的 getXMLInputFactory() 方法未安全初始化 XMLInputFactory,未禁用外部实体解析。攻击者可通过恶意 PDF 中的内嵌 XFA 触发解析器访问外部资源,导致 XXE 攻击。
修复版本在 XMLReaderUtils.java 的 getXMLInputFactory() 方法中,创建 XMLInputFactory 实例后强制将 IS_SUPPORTING_EXTERNAL_ENTITIES 和 SUPPORT_DTD 设为 false,从根本上禁用外部实体和 DTD,防止XXE漏洞。
| MPS编号 | MPS-us8m-5zq7 |
|---|---|
| CVE编号 | CVE-2025-54988 |
| 处置建议 | 建议修复 |
| 发现时间 | 2025-08-21 |
| 利用成本 | 中 |
| 利用可能性 | 中 |
| 是否有POC | 否 |
影响范围
| 影响组件 | 受影响的版本 | 最小修复版本 |
|---|---|---|
| org.apache.tika:tika-parser-pdf-module | [1.13, 3.2.2) | 3.2.2 |
| org.apache.tika:tika-core | [1.13, 3.2.2) | 3.2.2 |
参考链接
https://nvd.nist.gov/vuln/detail/CVE-2025-54988
https://github.com/apache/tika/commit/94acef2854eed07f0ded357c13a659409495ca49
https://lists.apache.org/thread/8xn3rqy6kz5b3l1t83kcofkw0w4mmj1w
https://www.oscs1024.com/hd/MPS-us8m-5zq7
排查方式
手动排查
检查依赖版本:查看项目中org.apache.tika:tika-parser-pdf-module和tika-core版本是否在[1.13, 3.2.2);确认风险:若版本在范围内,存在XXE漏洞风险;修复建议:升级至3.2.2或更高版本。
一键自动排查全公司此类风险
墨菲安全为您免费提供一键排查全公司开源组件漏洞&投毒风险服务,可一键接入扫描全公司的代码仓库、容器镜像仓库、主机、制品仓库等。
试用地址:https://www.murphysec.com/adv?code=HVXL
提交漏洞情报:https://www.murphysec.com/bounty
处置方式
应急缓解方案
- 限制Tika服务处理不可信来源的PDF文件,对所有输入文档进行严格的来源验证
- 在应用层实现文件类型过滤,仅允许处理必要业务的文档类型,临时禁用PDF文件解析功能
- 配置网络访问控制策略,限制Tika服务进程的网络出站连接,阻止外部实体解析请求
- 部署Web应用防火墙(WAF),配置XXE攻击特征规则,拦截包含恶意XFA内容的PDF文件
根本修复方案
- 将受影响组件升级至安全版本:
- org.apache.tika:tika-parser-pdf-module 升级至3.2.2或更高版本
- org.apache.tika:tika-core 升级至3.2.2或更高版本
- 修改Maven项目依赖配置文件(pom.xml),更新Tika相关组件版本号
- 执行依赖更新命令:
mvn clean dependency:purge-local-repository && mvn install - 重启应用服务使版本更新生效
- 通过版本验证命令确认升级结果:
mvn dependency:tree | grep org.apache.tika