根據VulnCheck的最新報告,數千個Openfire XMPP服務器未修補最近披露的高危漏洞,容易受到新的攻擊。該漏洞被追蹤為CVE-2023-32315(CVSS分數:7.5),與Openfire的管理控制臺中的路徑遍歷漏洞有關,可能允許未經身份驗證的攻擊者訪問本應為特權用戶保留的受限頁面。該漏洞影響自2015年4月以來發布的所有版本,從3.10.0版本開始。開發人員Ignite Realtime于今年5月通過發布4.6.8、4.7.5和4.8.0版本進行了修復。

維護人員在一份詳細的公告中表示:“路徑遍歷保護已經存在,以防止恰好出現這種類型的攻擊,但未能防御某些不支持嵌入式Web服務器的UTF-16字符的非標準URL編碼。”“后來升級的嵌入式Web服務器支持UTF-16字符的非標準URL編碼。Openfire中的路徑遍歷保護沒有更新以包括對這種新編碼的保護。”因此,攻擊者可以利用這個漏洞繞過管理控制臺頁面的身份驗證要求。這個漏洞已經在野外被積極利用,包括與Kinsing(又名Money Libra)加密僵尸網絡惡意軟件有關的攻擊者。

一家網絡安全公司進行的Shodan掃描顯示,在超過6300個通過互聯網可訪問的Openfire服務器中,大約有50%的服務器正在運行受影響的開源XMPP解決方案。

根據VulnCheck的說法,盡管已經有公開的利用該漏洞來創建管理員用戶、登錄并上傳插件以實現代碼執行的攻擊,但他們表示可以在不創建管理員賬戶的情況下實現這一目標,使得攻擊更加隱蔽和吸引人。安全研究員Jacob Baines對現有攻擊的作法進行了詳細說明,他說這些攻擊涉及“創建管理員用戶以獲得對Openfire插件界面的訪問權限。插件系統允許管理員通過上傳的Java JAR文件添加或減少Openfire的任意功能。顯然,這是從繞過身份驗證到遠程代碼執行的一個過渡點。”

另一方面,VulnCheck設計的改進的、更少噪音的方法采用了無用戶的方式,通過訪問一個名為“plugin-admin.jsp”的頁面來提取JSESSIONID和CSRF令牌,然后通過POST請求上傳JAR插件。“在沒有身份驗證的情況下,插件被接受和安裝,”Baines說。“然后可以使用遍歷方式,無需身份驗證即可訪問Web shell。”“這種方法可以防止登錄嘗試被記錄在安全審計日志中,并防止“已上傳的插件”通知被記錄。這非常重要,因為它在安全審計日志中不留下任何證據。”公司表示,唯一可以發現存在惡意行為的跡象是在openfire.log文件中的日志,攻擊者可以利用CVE-2023-32315刪除這些日志。由于該漏洞已經在現實世界的攻擊中被利用,建議用戶盡快更新到最新版本以防范潛在威脅。