中心首页 » 安全公告 » 正文

WebLogic多个远程代码执行漏洞

发布时间:2020-04-15

一、漏洞概述

北京时间415日,Oracle官方发布了20204月关键补丁更新公告CPUCritical Patch Update),修复了397个不同程度的漏洞。其中包括三个针对Weblogic的严重漏洞(CVE-2020-2801CVE-2020-2883CVE-2020-2884)和一个Oracle Coherence远程代码执行漏洞(CVE-2020-2915),使用了Oracle Coherence 库的产品受此漏洞影响。本次四个漏洞均为T3协议存在缺陷、未经身份验证的攻击者可通过此类漏洞实现远程代码执行,CVSS评分均为9.8,利用复杂度低。建议用户尽快采取措施,对上述漏洞进行防护。

CVE-2020-2801复现成功截图:

925B2

参考链接:

https://www.oracle.com/security-alerts/cpuapr2020.html

二、影响范围

WebLogic受影响版本

  • 10.3.6.0.0

  • 12.1.3.0.0

  • 12.2.1.3.0

  • 12.2.1.4.0

Coherence受影响版本

  • 3.7.1.0

  • 12.1.3.0.0

  • 12.2.1.3.0

  • 12.2.1.4.0

注:在WebLogic Server 11g Release10.3.4)及以上版本的安装包中默认集成了Oracle Coherence 库。

三、漏洞检测

3.1 本地检测

可使用如下命令对Weblogic版本和补丁安装的情况进行排查。

$ cd /Oracle/Middleware/wlserver_10.3/server/lib

$ java -cp weblogic.jar weblogic.version


在显示结果中,如果没有补丁安装的信息,则说明存在风险,如下图所示:

3533B

3.2 远程检测

3.2.1 Nmap服务探测

Nmap工具提供了Weblogic T3协议的扫描脚本,可探测开启T3服务的Weblogic主机。命令如下:

nmap -n -v -Pn sV [主机或网段地址] -p7001,7002 --script=weblogic-t3-info.nse


如下图红框所示,目标开启了T3协议且Weblogic版本在受影响范围之内,如果相关人员没有安装官方的安全补丁,则存在漏洞风险。

20ED1

3.2.2 互联网资产排查

绿盟科技威胁情报中心(NTI)提供对互联网开放网络资产信息查看的功能,企业用户可通过在NTI上检索自有资产信息端口开放情况,查看企业资产是否受此漏洞影响。

82D70

四、漏洞防护

4.1 补丁更新

Oracle目前已发布补丁修复了上述漏洞,请用户参考官方通告及时下载受影响产品更新补丁,并参照补丁安装包中的readme文件进行安装更新,以保证长期有效的防护。

注:Oracle官方补丁需要用户持有正版软件的许可账号,使用该账号登陆https://support.oracle.com后,可以下载最新补丁。

4.2 临时缓解措施

如果用户暂时无法安装更新补丁,可通过下列措施对漏洞进行临时防护:

用户可通过控制T3协议的访问来临时阻断针对利用T3协议漏洞的攻击。Weblogic Server 提供了名为 weblogic.security.net.ConnectionFilterImpl 的默认连接筛选器,此连接筛选器接受所有传入连接,可通过此连接筛选器配置规则,对T3T3s协议进行访问控制,详细操作步骤如下:

  1. 进入Weblogic控制台,在base_domain的配置页面中,进入“安全”选项卡页面,点击“筛选器”,进入连接筛选器配置。

  2. 72B03
  3. 在连接筛选器中输入:weblogic.security.net.ConnectionFilterImpl,参考以下写法,在连接筛选器规则中配置符合企业实际情况的规则:

127.0.0.1 * * allow t3 t3s

本机IP * * allow t3 t3s

允许访问的IP  * * allow t3 t3s  

* * * deny t3 t3s


70CA4

连接筛选器规则格式如下:target localAddress localPort action protocols,其中:

  • target 指定一个或多个要筛选的服务器。

  • localAddress 可定义服务器的主机地址。(如果指定为一个星号 (*),则返回的匹配结果将是所有本地 IP 地址。)

  • localPort 定义服务器正在监听的端口。(如果指定了星号,则匹配返回的结果将是服务器上所有可用的端口)

  • action 指定要执行的操作。(值必须为“allow”或“deny”。)

  • protocols 是要进行匹配的协议名列表。(必须指定下列其中一个协议:httphttpst3t3sgiopgiopsdcom ftp) 如果未定义协议,则所有协议都将与一个规则匹配。

  1. 保存后若规则未生效,建议重新启动Weblogic服务(重启Weblogic服务会导致业务中断,建议相关人员评估风险后,再进行操作)。以Windows环境为例,重启服务的步骤如下:

  • 进入域所在目录下的bin目录,在Windows系统中运行stopWebLogic.cmd文件终止weblogic服务,Linux系统中则运行stopWebLogic.sh文件。

  • AD0BD
  • 待终止脚本执行完成后,再运行startWebLogic.cmdstartWebLogic.sh文件启动Weblogic,即可完成Weblogic服务重启。

若参考上述操作配置了连接筛选器后,导致Weblogic无法启动,可参考“附录A Weblogic服务恢复”章节,及时进行业务恢复。

$(".info_chag img").each(function () { $(this).css({ "max-width": "100%","height": "auto","display":"inline-block" }).parent().css({"text-align":"center"}); });