Tomcat CVE-2024-50379 条件竞争导致命令执行

💡 原文中文,约6700字,阅读约需16分钟。
📝

内容提要

在不区分大小写的文件系统中,Apache Tomcat 默认 Servlet 启用写权限时,可能导致并发读取和上传同一文件绕过大小写检查,从而引发远程代码执行漏洞。受影响版本包括 9.0.0-M1 至 9.0.98。修复建议使用锁机制同步 PUT 和 GET 操作。

🎯

关键要点

  • Apache Tomcat 默认 Servlet 启用写权限时,可能导致远程代码执行漏洞。
  • 受影响版本包括 9.0.0-M1 至 9.0.98。
  • 在不区分大小写的文件系统中,上传的文件可能被视为 JSP 文件。
  • 漏洞条件包括 Windows 操作系统和特定版本的 Apache Tomcat。
  • 需要开启写权限的 DefaultServlet 配置示例。
  • 漏洞验证环境包括 Tomcat 9.0.96 和 JRE 1.8。
  • 利用漏洞的过程涉及并发读取和上传操作。
  • 漏洞分析涉及文件路径的规范化和大小写检查。
  • 修复建议使用锁机制同步 PUT 和 GET 操作。
  • 相关补丁已在 Apache Tomcat 的 GitHub 上发布。

延伸问答

CVE-2024-50379 漏洞的主要影响是什么?

该漏洞可能导致远程代码执行,允许攻击者上传恶意 JSP 文件。

哪些版本的 Apache Tomcat 受到 CVE-2024-50379 漏洞的影响?

受影响的版本包括 9.0.0-M1 至 9.0.98。

如何修复 CVE-2024-50379 漏洞?

建议使用锁机制同步 PUT 和 GET 操作,以防止并发读取和上传导致的漏洞利用。

CVE-2024-50379 漏洞是如何被利用的?

攻击者通过并发读取和上传同一文件,绕过大小写检查,使上传的文件被视为 JSP 文件。

在什么样的文件系统中,CVE-2024-50379 漏洞更容易出现?

在不区分大小写的文件系统中,该漏洞更容易出现。

CVE-2024-50379 漏洞的验证环境是什么?

验证环境包括 Tomcat 9.0.96 和 JRE 1.8,运行在 Windows 操作系统上。

➡️

继续阅读