WebLogic 是一款 Java EE 应用服务器,由 BEA 系统公司开发,现在归 Oracle 所有。它提供完整的 Java EE 平台和广泛的服务和功能,如 Web 服务器、EJB 容 器、JMS 消息队列、事务管理、安全性等,并具有高度可扩展性和稳定性。
一、漏洞详情
Oracle 官方发布安全通告,修复了一个 Oracle WebLogic Server 远程代码执行漏洞(CVE-2023-21931)。这个漏洞 源于 WebLogic 中 WLNamingManager 类的 getObjectInstance()方法的缺陷。在 默认设置下,未经授权的远程攻击者可以通过 T3/IIOP 协议传送特定对象,进而 在目标系统上执行任意代码
二、影响范围
Weblogic 10.3.6
Weblogic 12.1.3
Weblogic 12.2.1.3.0
Weblogic 12.2.1.4.0
Weblogic 14.1.1.0.0
三、漏洞排查
1. 本地检测
可使用如下命令对 WebLogic 版本和补丁安装的情况进行排查。
在显示结果中,如果没有补丁安装的信息,则说明存在风险,如下图所示:
2. T3 协议检测
Nmap 工具提供了 WebLogic T3 协议的扫描脚本,可探测开启 T3 服务的 WebLogic 主机。命令如下:
如下图红框所示,目标开启了 T3 协议且 WebLogic 版本在受影响范围之内, 如果相关人员没有安装官方的安全补丁,则存在漏洞风险:
四、修复方案
3. 补丁更新
目前 Oracle 已发布补丁修复了上述漏洞,请用户参考官方通告及时下载受 影响产品更新补丁,并参照补丁安装包中的 readme 文件进行安装更新,以保证 长期有效的防护。 注:Oracle 官方补丁需要用户持有正版软件的许可账号,使用该账号登录 https://support.oracle.com 后,可以下载最新补丁
4. 临时防护措施
如果用户暂时无法安装更新补丁,可通过下列措施对高危漏洞进行临时防护:
4.1 限制 T3 协议访问
WebLogic Server 提供了名为 weblogic.security.net.ConnectionFilterImpl 的默认连接筛选器,此连接筛 选器接受所有传入连接,可通过此连接筛选器配置规则,对 T3 及 T3s 协议进行 访问控制,详细操作步骤如下:
1. 进入 WebLogic 控制台,在 base_domain 的配置页面中,进入“安全”选 项卡页面,点击“筛选器”,进入连接筛选器配置。
2. 在连接筛选器中输入:weblogic.security.net.ConnectionFilterImpl, 参考以下写法,在连接筛选器规则中配置符合企业实际情况的规则。
3. 保存后若规则未生效,建议重新启动 WebLogic 服务(重启 WebLogic 服务 会导致业务中断,建议相关人员评估风险后,再进行操作)。以 Windows 环境为 例,重启服务的步骤如下:
进入域所在目录下的 bin 目录,在 Windows 系统中运行 stopWebLogic.cmd 文件终止 WebLogic 服务,Linux 系统中则运行 stopWebLogic.sh 文件。
4.2 禁用 IIOP 协议
用户可通过关闭 IIOP 协议阻断针对利用 IIOP 协议漏洞的攻击,操作如下: 在 WebLogic 控制台中,选择“服务”->“AdminServer”->“协议”,取消“启 用 IIOP”的勾选。并重启 WebLogic 项目,使配置生效。