一个破坏性极强的新远程代码执行 (RCE) 漏洞CVE-2025-24813现已被广泛利用。攻击者只需一个 PUT API 请求即可接管易受攻击的 Apache Tomcat 服务器。该漏洞最初由中国论坛用户 iSee857 发布,现已在网上发布:CVE-2025-24813 PoC by iSee857。
漏洞分析:一个简单的 PUT 请求如何导致完整的 RCE
此攻击利用了 Tomcat 的默认会话持久机制及其对部分 PUT 请求的支持。该漏洞利用分为两个步骤:
-
攻击者通过 PUT 请求上传序列化的 Java 会话文件
-
攻击者通过在 GET 请求中引用恶意会话 ID 来触发反序列化
步骤 1:上传恶意序列化会话
攻击者首先发送 PUT 请求,将恶意会话文件上传到服务器。有效载荷是一个 base64 编码的 ysoserial 小工具链,旨在反序列化时触发远程代码执行
此请求将文件写入 Tomcat 的会话存储目录中。由于 Tomcat 会自动将会话数据保存在文件中,因此恶意负载现在存储在磁盘上,等待反序列化
步骤2:通过会话Cookie触发执行
一旦会话文件上传,攻击者就会通过发送带有指向恶意会话的 JSESSIONID 的简单 GET 请求来触发反序列化。
GET/ HTTP/1.1Host: vulnerable.host:8080Cookie: JSESSIONID=iSee857
Tomcat 看到此会话 ID 后,将检索存储的文件、对其进行反序列化并执行嵌入的 Java 代码,从而授予攻击者完全远程访问权限。
为什么这个漏洞如此危险
这种攻击执行起来非常简单,不需要身份验证。唯一的要求是 Tomcat 使用基于文件的会话存储,这在许多部署中很常见。更糟糕的是,base64 编码允许漏洞绕过大多数传统的安全过滤器,这使得检测变得具有挑战性。
传统 WAF 为何会失败
大多数 Web 应用程序防火墙 (WAF) 都完全错过了这种攻击,因为:
PUT请求看起来很正常,不包含明显的恶意内容。
有效载荷采用 base64 编码,可防止基于模式的检测。
该攻击分为两步,其中有害部分仅在反序列化期间执行。
大多数 WAF 不会深入检查上传的文件或跟踪多步骤漏洞。
这意味着,当组织在其日志中检测到漏洞时,已经太晚了。
CVE-2025-24813 的未来:更多 RCE 即将到来
虽然此漏洞利用了会话存储,但更大的问题是 Tomcat 中的部分 PUT 处理,这允许将几乎任何文件上传到任何地方。攻击者很快就会开始改变策略,上传恶意 JSP 文件、修改配置并在会话存储之外植入后门。这只是第一波。
现实情况是,被动安全(等待 CVE、添加 WAF 规则并希望日志能够捕获威胁)是一场必输的游戏。CVE-2025-24813 从披露到公开利用仅用了 30 个小时。唯一有效的防御是实时 API 安全,可以在威胁发生时阻止它们。
原文始发于微信公众号(Ots安全):一个拥有 Tomcat 的 PUT 请求:CVE-2025-24813 RCE 正在肆虐
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论