甲骨文發(fā)布安全警報,WebLogic 服務器發(fā)現(xiàn)關鍵漏洞
安全人員在甲骨文 WebLogic 服務器(WLS)中發(fā)現(xiàn)了一個新的可遠程利用的©洞。該©洞編號 CVE-2019-2725 ,其無需用戶身份驗證即可被遠程利用,且 CVSS 評分達 9.3 分(滿分 10 分),是一個關鍵©洞。
甲骨文發(fā)布了一個 安全警報 ,指出受此©洞影響的服務器版本包括 10.3.6.0 和 12.1.3.0。這個©洞很容易被利用,黑色產業(yè)已經有很多攻擊者用它來植入 勒索程序 , 挖礦程序 及其它惡意程序。甲骨文“強烈建議客戶盡快應用更新”。
此©洞的主要缺陷在于對反序列化的 XML 數(shù)據的驗證不充分。通過特制的 SOAP 請求,攻擊者可以在服務器上獲得完整的代碼執(zhí)行權限。
具體而言,該©洞存在于 /_async/AsyncResponseService 端點上的 WLS 的異步組件中。此端點是用于處理異步請求——響應功能的內部端點。
當 AsyncResponseService 端點收到請求時,它會遍歷 handler 列表,從而允許ÿ個 handler 都有機會處理請求。一個名為 WorkAreaServerHandler 的特殊 handler 會用到 WorkContextXmlInputAdapter,后者又用到 XMLDecoder,這里就是©洞的源頭了。
XMLDecoder 本質上與用來接收 Serializable 對象的 ObjectInputStream 非常相似,區(qū)別在于 XMLDecoder 使用 XML 格式而非二進制格式來描述序列化對象。如果û有合適干凈的輸入內容,任何 Java 對象都可以被反序列化。
不幸的是,這個©洞并不是 WebLogic 或 Java 的第一個©洞。2017 年,WebLogic 報告了一個類似的©洞( CVE-2017-10271 )。反序列化©洞在 Java 中很常見,正如 InfoQ 文章《 Java 序列化的狀態(tài) 》中所提到的一樣。為了阻止這類©洞,Java 9 引入了 JEP-290 。
甲骨文建議立即使用修補程序解決此問題。其它非官方的建議有:阻止訪問所有的 /_async/* 地址,或刪除 WAR 文件以及同異步功能相關的所有文件。