2024年12月17日,Apache Tomcat 官方发布安全通告,修复了一个存在于Apache Tomcat 开源组件中的远程代码执行漏洞(CVE-2024-50379)。作为该开源社区参与者,永信至诚春秋GAME团队霄壤实验室研究员因在Apache Tomcat 多个版本的漏洞验证、测试及修复方案工作中做出重要贡献,获得官方致谢。
目前该漏洞POC已在互联网上公开,且漏洞影响范围较大,Apache 官方已停止对风险版本的维护,建议用户尽快做好自查及防护,更新至安全版本。
Apache Tomcat 是一个开源的Java Servlet容器和 Web 服务器,由 Apache 软件基金会维护。它实现了Java EE(现为 Jakarta EE)规范中的几个核心组件,特别是 Servlet 和 JSP(JavaServer Pages)规范,因此它常被用作运行和管理 Java Web 应用程序的服务器。
霄壤实验室安全研究员介绍,该漏洞成因在于Windows文件系统与Tomcat在处理路径大小写敏感性方面存在差异,攻击者能够利用Tomcat路径校验机制中的一个缺陷,通过绕过路径一致性检查,使得原本无法解析的文件(例如大小写不同的 JSP 文件)变为可解析状态。
当默认 Servlet 的 readonly 参数被设置为 false(即非默认配置)且允许使用 PUT 方法上传文件时,攻击者便能够上传包含恶意 JSP 代码的文件,并通过条件竞争,触发 Tomcat 对该文件的解析和执行,最终实现远程代码执行。
01
风险描述
成功利用该漏洞的攻击者能够远程执行代码,获取对受影响服务器的控制权,可能导致数据泄露、系统崩溃,甚至被用作传播勒索病毒等恶意软件。
02
影响范围
Tomcat 8 全版本 (官方于2024年3月31日后停止更新)
· 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
03
解决方案
根据业务需求,注释掉 conf/web.xml中的readOnly参数或将其改为true
04
参考资料
https://lists.apache.org/thread/y6lj6q1xnp822g6ro70tn19sgtjmr80r
05
时间线
· 2024年10月18日 发现薄弱点
· 2024年12月17日 官方修复并发布公告
· 2024年12月17日 获得官方致谢
· 2024年12月18日 互联网公开
霄壤实验室安全研究员介绍,加强对开源组件的漏洞关注并及时进行版本升级是确保软件系统安全性的关键措施,在软件开发过程中应当建立供应链的安全管理机制,选择已知安全且经过验证的开源组件版本,并定期检查依赖的开源组件状态,利用自动化工具进行深度测试和代码审计,确保所有依赖组件的安全性和合规性。
永信至诚「数字风洞」测试评估平台围绕企业数字资产进行全生命周期的健康管理,其代码审计与软件成分分析系统可从软件供应链方面围绕代码、中间件等进行安全风险检测,提高软件系统的整体安全性,保障数字健康,相关用户可向永信至诚安全专家寻求支持。
往期精选
赛事演练
核心产品
完