安全人員在甲骨文 WebLogic 伺服器(WLS)中發現了一個新的可遠端利用的漏洞。該漏洞編號CVE-2019-2725 ,其無需使用者身份驗證即可被遠端利用,且CVSS 評分達 9.3 分(滿分 10 分),是一個關鍵漏洞。

甲骨文釋出了一個安全警報 ,指出受此漏洞影響的伺服器版本包括 10.3.6.0 和 12.1.3.0。這個漏洞很容易被利用,黑色產業已經有很多攻擊者用它來植入勒索程式 ,挖礦程式 及其它惡意程式。甲骨文“強烈建議客戶儘快應用更新”。

此漏洞的主要缺陷在於對反序列化的 XML 資料的驗證不充分。通過特製的 SOAP 請求,攻擊者可以在伺服器上獲得完整的程式碼執行許可權。

具體而言,該漏洞存在於 /_async/AsyncResponseService 端點上的 WLS 的非同步元件中。此端點是用於處理非同步請求——響應功能的內部端點。

當 AsyncResponseService 端點收到請求時,它會遍歷 handler 列表,從而允許每個 handler 都有機會處理請求。一個名為 WorkAreaServerHandler 的特殊 handler 會用到 WorkContextXmlInputAdapter,後者又用到 XMLDecoder,這裡就是漏洞的源頭了。

XMLDecoder 本質上與用來接收 Serializable 物件的 ObjectInputStream 非常相似,區別在於 XMLDecoder 使用 XML 格式而非二進位制格式來描述序列化物件。如果沒有合適乾淨的輸入內容,任何 Java 物件都可以被反序列化。

不幸的是,這個漏洞並不是 WebLogic 或 Java 的第一個漏洞。2017 年,WebLogic 報告了一個類似的漏洞(CVE-2017-10271 )。反序列化漏洞在 Java 中很常見,正如 InfoQ 文章《Java 序列化的狀態 》中所提到的一樣。為了阻止這類漏洞,Java 9 引入了JEP-290 。

甲骨文建議立即使用修補程式解決此問題。其它非官方的建議有:阻止訪問所有的 /_async/* 地址,或刪除 WAR 檔案以及同異步功能相關的所有檔案。

檢視英文原文:Critical Remotely Exploitable Vulnerability Discovered in Oracle WebLogic Server

原文出處:甲骨文 WebLogic 伺服器曝關鍵漏洞,無需身份驗證即可被遠端利用