Apache Tomcat團隊修補重要的遠程執行代碼缺陷
Apache Tomcat團隊最近修補了Apache Tomcat中的幾個安全漏洞,其中一個可能允許未經授權的攻擊者遠程在受影響的服務器上執行惡意代碼。 由Apache Software Foundation(ASF)開發的Apache Tomcat是一個開源的Web服務器和servlet系統,它使用Java Servlet,JavaServer Pages(JSP),表達式語言和WebSocket等多種Java EE規范,并提供了一種“純粹的Java“用于Java概念的HTTP Web服務器環境運行。 與最近被利用以破壞美國信用報告機構Equifax的系統的Apache Struts2漏洞不同,Apache Tomcat的缺陷不容易被利用。
在Apache Tomcat中發現的關鍵的遠程執行代碼(RCE)漏洞(CVE-2017-12617)是由于受影響的軟件對用戶提供的輸入的驗證不足。 只有啟用了HTTP PUT的系統(通過將Default servlet的“只讀”初始化參數設置為“false”)才會受到影響。 Alphabot Security的PeterSt?ckli 說: “在9.0.1(Beta),8.5.23,8.0.47和7.0.82之前的Tomcat版本在所有操作系統上都包含潛在的危險的遠程執行代碼(RCE)漏洞,如果默認servlet配置參數readonly設置為false或者WebDAV servlet被啟用,參數readonly設置為false,則存在受攻擊的可能。” 利用此漏洞需要攻擊者將惡意制作的Java Server Page(JSP)文件上傳到運行受影響版本的Apache Tomcat的目標服務器,并且JSP文件中包含的代碼將在請求文件時由服務器執行。 為了上傳惡意制作的JSP,攻擊者只需要向易受攻擊的服務器發送一個HTTP PUT請求,就像Peter在Apache郵件列表中發布的概念驗證(PoC)漏洞代碼所提到的那樣。 攻擊者最終可實現在目標服務器上執行惡意代碼。 Peter解釋說:“由于這個功能通常是不需要的,所以最暴露于公開的系統將不會被設置為false,因此不會受到影響。” 這個標記為“重要”的RCE漏洞會影響到所有Apache Tomcat 9.0.0.M1版本到9.0.0,8.5.0到8.5.22,8.0.0.RC1到8.0.46和7.0.0到7.0.81 ,并已發布Tomcat 9.0.1版(Beta),8.5.23,8.0.47和7.0.82版本。