一个近期披露的影响 Apache Tomcat 的安全漏洞,在公开披露仅 30 小时后,随着公开概念验证(PoC)的发布,已在现实中遭到积极利用。
该漏洞编号为 CVE – 2025 – 24813,影响以下版本:
(1)Apache Tomcat 11.0.0 – M1 至 11.0.2
(2)Apache Tomcat 10.1.0 – M1 至 10.1.34
(3)Apache Tomcat 9.0.0 – M1 至 9.0.98
当满足特定条件时,该漏洞会导致远程代码执行或信息泄露:
(1)默认 servlet 启用了写入功能(默认情况下是禁用的)
(2)支持部分 PUT 请求(默认情况下是启用的)
(3)安全敏感上传的目标 URL 是公共上传目标 URL 的子目录
(4)攻击者知晓正在上传的安全敏感文件的名称
(5)安全敏感文件也通过部分 PUT 请求上传
成功利用该漏洞可使恶意用户通过 PUT 请求查看安全敏感文件或将任意内容注入这些文件。
此外,如果满足以下所有条件,攻击者可实现远程代码执行:
(1)默认 servlet 启用了写入功能(默认情况下是禁用的)
(2)支持部分 PUT 请求(默认情况下是启用的)
(3)应用程序使用 Tomcat 基于文件的会话持久化,且采用默认存储位置
(4)应用程序包含一个可在反序列化攻击中利用的库
在上周发布的公告中,项目维护者表示该漏洞已在 Tomcat 9.0.99、10.1.35 和 11.0.3 版本中得到修复。
但令人担忧的是,据 Wallarm 称,该漏洞已在现实中遭遇利用尝试。
该公司表示:“此次攻击利用了 Tomcat 的默认会话持久化机制及其对部分 PUT 请求的支持。”
“该攻击分两步进行:攻击者通过 PUT 请求上传一个序列化的 Java 会话文件。攻击者通过在 GET 请求中引用恶意会话 ID 触发反序列化。”
换句话说,这些攻击需要发送一个包含 Base64 编码的序列化 Java 有效负载的 PUT 请求,该请求会被写入 Tomcat 的会话存储目录,随后通过发送一个 JSESSIONID 指向恶意会话的 GET 请求,在反序列化过程中执行该有效负载。
Wallarm 还指出,该漏洞很容易被利用,且无需身份验证。唯一的前提是 Tomcat 使用基于文件的会话存储。
它补充道:“虽然此次攻击滥用了会话存储,但更大的问题是 Tomcat 中的部分 PUT 处理,这几乎允许在任何位置上传任何文件。攻击者很快将开始改变策略,上传恶意 JSP 文件、修改配置并在会话存储之外植入后门。”
建议运行受影响 Tomcat 版本的用户尽快更新实例,以减轻潜在威胁。
发表评论
您还未登录,请先登录。
登录