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 操作系统上。
➡️