Openfire身份认证绕过漏洞 (CVE-2023-32315) 安全风险通告

漏洞概述
漏洞名称 Openfire身份认证绕过漏洞
漏洞编号 QVD-2023-12196、CVE-2023-32315
公开时间 2023-05-24 影响对象数量级 万级
奇安信评级 高危 CVSS 3.1分数 8.6
威胁类型 身份认证绕过 利用可能性
POC状态 已公开 在野利用状态 未发现
EXP状态 未公开 技术细节状态 已公开
危害描述:未经身份认证的远程攻击者可以构造恶意请求利用该漏洞,成功利用此漏洞可以绕过身份认证登录管理界面。

(注:奇安信CERT的漏洞深度分析报告包含该漏洞的POC及技术细节,订阅方式见文末。)

0漏洞详情

影响组件

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的元素。

AuthCheckorg.jivesoftware.admin.AuthCheckFilterexcludes 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.190909091 ...

保存文件,然后重新启动 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

上一篇:“安全向未来”——C3安全大会·2023整装待发

下一篇:大语言模型能让暗网中的数据“改邪归正”吗?