漏洞概述 | |||
漏洞名稱 | Openfire身份認證繞過漏洞 | ||
漏洞編號 | QVD-2023-12196、CVE-2023-32315 | ||
公開時間 | 2023-05-24 | 影響對象數量級 | 萬級 |
奇安信評級 | 高危 | CVSS 3.1分數 | 8.6 |
威脅類型 | 身份認證繞過 | 利用可能性 | 高 |
POC狀態 | 已公開 | 在野利用狀態 | 未發現 |
EXP狀態 | 未公開 | 技術細節狀態 | 已公開 |
危害描述:未經身份認證的遠程攻擊者可以構造惡意請求利用該漏洞,成功利用此漏洞可以繞過身份認證登錄管理界面。 |
(注:奇安信CERT的漏洞深度分析報告包含該漏洞的POC及技術細節,訂閱方式見文末。)
01?漏洞詳情
影響組件
Openfire是免費的、開源的、基于可拓展通訊和表示協議(XMPP)、采用Java編程語言開發的實時協作服務器。Openfire安裝和使用都非常簡單,并利用Web進行管理。單臺服務器甚至可支持上萬并發用戶。
漏洞描述
近日,奇安信CERT監測到Openfire 身份認證繞過漏洞(CVE-2023-32315),由于Openfire的路徑名限制不恰當,未經身份認證的遠程攻擊者可以構造惡意請求利用該漏洞,成功利用此漏洞可以繞過身份認證登錄管理界面。目前此漏洞的POC與技術細節已在互聯網上公開,漏洞的現實威脅進一步上升。鑒于此漏洞影響較大,建議客戶盡快做好自查及防護。
02?影響范圍
影響版本
3.10.0 <= Openfire < 4.6.8
4.7.0 <= Openfire 4.7.x < 4.7.5
其他受影響組件
無
03?復現情況
目前,奇安信CERT已成功復現Openfire 身份認證繞過漏洞(CVE-2023-32315),截圖如下:
04?處置建議
安全更新
升級版本至4.6.8或4.7.5及以上
https://github.com/igniterealtime/Openfire/releases
緩解措施
1.限制網絡訪問
請勿將Openfire 管理控制臺暴露于互聯網,使用網絡安全措施(如防火墻 、VPN)確保只有受信任的成員才能訪問Openfire管理控制臺。
2.修改運行時配置文件
找到Openfire的安裝目錄中的文件plugins/admin/webapp/WEB-INF/web.xml。在創建該文件的備份后,編輯原始文件。查找類似:AuthCheck的元素。
AuthCheck
org.jivesoftware.admin.AuthCheckFilter
excludes
login.jsp,index.jsp?logout=true,setup/index.jsp,setup/setup-*,.gif,.png,error-serverdown.jsp,loginToken.jsp
該元素內的值是一個逗號分隔的值列表。從該列表中刪除所有(星號)字符param-value*。保存文件,并重新啟動Openfire以使更改生效。
請注意,不能保證此運行時配置更改會持續存在。請確保監視修復程序的存在。盡快升級到 Openfire 的安全版本。
此更改會導致Openfire基于Web的設置向導無法正常運行(可以通過恢復更改來恢復功能)。此向導通常僅在初始安裝Openfire時使用。
3.將管理控制臺綁定到回環接口
Openfire管理控制臺是一個基于Web的應用程序。默認情況下,對應的Web服務器會綁定到運行它的主機的所有網絡接口。可以配置管理控制臺綁定到特定的網絡接口,防止它可以通過其他網絡接口被訪問。通過將管理控制臺配置為綁定到本地回環接口,它只能被服務器本身上的用戶訪問,從而減少了攻擊的途徑。
可以使用”openfire.xml”配置文件將Openfire管理控制臺的Web服務器綁定到特定的網絡接口。在Openfire的安裝目錄中找到文件conf/openfire.xml。在創建該文件的備份后,編輯原始文件。
查找作為根元素的直接子元素的元素。添加一個新元素并命名為回環接口或接口地址的名稱。在測試環境中,將值設置為127.0.0.1都有效(在大多數Linux系統上使用值如lo,在macOS上使用值如lo lo0將產生相同的效果)。文件的結果片段將類似于此:openfire.xml
127.0.0.1
9090
9091
...
保存文件,然后重新啟動 Openfire,以使更改生效。
請注意,部分Openfire插件通過管理控制臺Web服務器公開其部分或全部功能。例如,REST API插件通過此Web服務器提供其端點。將Web服務器綁定到特定網絡接口將影響此功能的可用性。
4.使用AuthFilterSanitizer插件
Ignite Realtime社區推出的插件AuthFilterSanitizer。該插件會定期刪除Openfire身份驗證過濾器中容易被利用的條目,從而關閉潛在攻擊的途徑。請注意,該插件可能會干擾依賴于身份驗證過濾器中易受利用條目的功能,這些條目可能由插件提供。
該插件可以從Openfire管理控制臺安裝,也可以從IgniteRealtime.org社區網站上的插件存檔頁面下載。https://www.igniterealtime.org/projects/openfire/plugin-archive.jsp?plugin=authfiltersanitizer
Snort 檢測方案
Snort是一個開源的入侵檢測系統,使用規則來檢測網絡流量中的惡意行為。用戶可參考以下Snort檢測規則,進行Openfire 身份認證繞過漏洞(CVE-2023-32315)的檢測:
alert tcp any any -> any any (msg:”CVE-2023-32315 Openfire Xmppserver Admin Console Auth Bypass Attack”; http_uri:”/(?i)%u002e/”; sid:1000001; rev:1;)
05?參考資料
[1]https://github.com/advisories/GHSA-gw42-f939-fhvm
來源:奇安信 CERT