【原创漏洞】启明星辰9.8分Weblogic反序列化漏洞CVE-2018-3245补丁推出

发布时间 2018-10-17

 漏洞概述 


Oracle官方发布了10月份的关键补丁更新CPU(Critical Patch Update),其中包含一个启明星辰ADLab安全研究人员发现并通报给Oracle的高危远程代码执行漏洞(CVE-2018-3245),通过该漏洞攻击者可以在未授权的情况下远程执行任意代码。该漏洞通过JRMP 协议利用RMI机制的缺陷达到执行任意反序列化代码的目的。攻击者可以在未授权的情况下将payload封装在T3协议中,通过对T3协议中的payload进行反序列化,从而实现对存在漏洞的WebLogic组件进行远程攻击,执行任意代码并可获取目标系统的所有权限。


Oracle 10月份发布的安全公告中涉及WebLogic 相关漏洞12个,并且CVSS V3评分在9.8以上的均与T3协议有关。鉴于WebLogic T3协议漏洞频发,并且存在未修复的0day漏洞,需及时更新安全补丁,并且禁用T3协议。

 漏洞影响范围 


WebLogic 10.3.6.0
WebLogic 12.1.3.0
WebLogic 12.2.1.2
WebLogic 12.2.1.3
以上均为官方支持的版本。

 基础知识 


T3协议

WebLogic Server 中的 RMI 通信使用 T3 协议在WebLogic Server和其他 Java程序(包括客户端及其他 WebLogic Server 实例)间传输数据(序列化的类)。由于WebLogic的T3协议和Web协议共用同一个端口,因此只要能访问WebLogic就可利用T3协议实现payload和目标服务器的通信。


JRMP协议
RMI目前使用Java远程消息交换协议JRMP(Java Remote Messaging Protocol)进行通信。JRMP协议是专为Java的远程对象制定的协议。

 漏洞简析 


在今年7月份的补丁中,WebLogic修补了CVE-2018-2893这个漏洞,为了阻止恶意反序列化,WebLogic的黑名单由之前的8个变成了11个。如下图所示:


但经过启明星辰ADLab安全研究人员深入研究分析后发现,仍然存在可以实现RMI反序列化的类可以Bypass这些黑名单,并且相关类数量众多。ADLab第一时间通报给Oracle官方并获得相应的漏洞编号(CVE-2018-3245)。


 解决方案 


关注Oracle官方CPU更新补丁

控制T3协议的访问


此漏洞产生于WebLogic的T3服务,因此可通过控制T3协议的访问来临时阻断针对该漏洞的攻击。当开放WebLogic控制台端口(默认为7001端口)时,T3服务会默认开启。


具体操作:
(1)进入WebLogic控制台,在base_domain的配置页面中,进入“安全”选项卡页面,点击“筛选器”,进入连接筛选器配置。
(2)在连接筛选器中输入:weblogic.security.net.ConnectionFilterImpl,在连接筛选器规则中输入:127.0.0.1 * * allow t3 t3s,0.0.0.0/0 * * deny t3 t3s(t3和t3s协议的所有端口只允许本地访问)。
(3)保存后需重新启动,规则方可生效。



升级到 jdk-8u20以上的版本

参考链接:
https://www.oracle.com/technetwork/security-advisory/cpuoct2018-4428296.html