來源:先知安全技術社區
作者:阿里雲
一. 漏洞概述
2017年9月19日,Apache Tomcat 官方確認並修復了兩個高危漏洞,漏洞 CVE 編號:CVE-2017-12615 和 CVE-2017-12616,該漏洞受影響版本為7.0-7.80之間,官方評級為高危,在一定條件下,攻擊者可以利用這兩個漏洞,獲取用戶服務器上 JSP 文件的源代碼,或是通過精心構造的攻擊請求,向用戶服務器上傳惡意 JSP 文件,通過上傳的 JSP 文件 ,可在用戶服務器上執行任意代碼,從而導致數據泄露或獲取服務器權限,存在高安全風險。
二. 漏洞基本信息
漏洞編號:
CVE-2017-12616
CVE-2017-12615
漏洞名稱:
CVE-2017-12615-遠程代碼執行漏洞
CVE-2017-12616-信息泄露漏洞
官方評級:
高危,實際測試漏洞危害較低
漏洞描述:
- CVE-2017-12616:信息泄露漏洞
當 Tomcat 中啟用了 VirtualDirContext 時,攻擊者將能通過發送精心構造的惡意請求,繞過設置的相關安全限制,或是獲取到由 VirtualDirContext 提供支持資源服務的 JSP 源代碼,從而造成代碼信息泄露。
- CVE-2017-12615:遠程代碼執行漏洞
當 Tomcat 運行在 Windows 操作系統時,且啟用了 HTTP PUT 請求方法(例如,將 readonly 初始化參數由默認值設置為 false),攻擊者將有可能可通過精心構造的攻擊請求數據包向服務器上傳包含任意代碼的 JSP 文件,JSP文件中的惡意代碼將能被服務器執行。導致服務器上的數據泄露或獲取服務器權限。
在一定的條件下,通過以上兩個漏洞可在用戶服務器上執行任意代碼,從而導致數據泄露或獲取服務器權限,存在高安全風險。
漏洞利用條件:
-
CVE-2017-12615 漏洞利用需要在 Windows 環境,且需要將 readonly 初始化參數由默認值設置為 false,經過實際測試,Tomcat 7.x 版本內 web.xml 配置文件內默認配置無 readonly 參數,需要手工添加,默認配置條件下不受此漏洞影響。
-
CVE-2017-12616 漏洞需要在 server.xml 文件配置 VirtualDirContext 參數,經過實際測試,Tomcat 7.x 版本內默認配置無 VirtualDirContext 參數,需要手工添加,默認配置條件下不受此漏洞影響。
影響範圍:
CVE-2017-12615影響範圍:Apache Tomcat 7.0.0 – 7.0.79 (windows環境)
CVE-2017-12616影響範圍:Apache Tomcat 7.0.0 – 7.0.80
三. 漏洞詳細分析信息
3.1. 環境搭建
Apache Tomcat 默認開啟 PUT 方法,org.apache.catalina.servlets.DefaultServlet
的 readonly 默認為 true,而且默認沒有在 conf/web.xml 里寫,需要手工添加並且改為 false,才可以測試。
<init-param>
<param-name>readonly</param-name>
<param-value>false</param-value>
</init-param>
3.2. 原理分析
本次 Apache Tomcat 兩個 CVE 漏洞涉及到 DefaultServlet 和 JspServlet,DefaultServlet 的作用是處理靜態文件 ,JspServlet 的作用是處理 jsp 與 jspx 文件的請求,同時 DefaultServlet 可以處理 PUT 或 DELETE 請求,以下是默認配置情況:
转载请注明:IAMCOOL » CVE-2017-12615/CVE-2017-12616:Tomcat信息泄漏和遠程代碼執行漏洞分析報告