【ADLab原创误差】WebLogic反序列化误差CVE-2018-2893

宣布时间 2018-07-18

一、误差概述


      Oracle官方宣布了7月份的要害补丁更新CPU(Critical Patch Update),其中包括一个尊龙凯官网入口ADLab清静研究职员发明并转达给Oracle的高危远程代码执行误差(CVE-2018-2893),通过该误差,攻击者可以在未授权的情形下远程执行恣意代码 。该误差通过JRMP 协议使用RMI机制的缺陷抵达执行恣意反序列化代码的目的 。攻击者可以在未授权的情形下将payload封装在T3协议中,通过对T3协议中的payload举行反序列化,从而实现对保存误差的WebLogic组件举行远程攻击,执行恣意代码并可获取目的系统的所有权限 。


二、误差影响规模


        WebLogic 10.3.6.0
        WebLogic 12.1.3.0
        WebLogic 12.2.1.2
        WebLogic 12.2.1.3

        以上均为官方支持的版本 。


三、基础知识


1、T3协议

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


2、JRMP协议

        RMI现在使用Java远程新闻交流协议JRMP(Java Remote Messaging Protocol)举行通讯 。JRMP协议是专为Java的远程工具制订的协议 。


四、误差简析


        为了阻止恶意反序列化,WebLogic已经设置了8个黑名单 。如下图所示:

   尊龙凯时 - 人生就是搏!


        并且对commons.collections这个包也做了限制 。焦点使用类挪用readObject要领反序列化时都举行了检查 。如下图所示:

   尊龙凯时 - 人生就是搏!


        但经由尊龙凯官网入口ADLab清静研究职员深入研究剖析后发明,JDK固有类中保存可被序列化并且在反序列化时可以挪用RMI的类,使用该类可结构出绕过WebLogic黑名单以及commons.collections限制的payload,ADLab第一时间转达给Oracle官方并获得响应的误差编号(CVE-2018-2893) 。


五、解决计划


1、关注Oracle官方CPU更新补丁
2、控制T3协议的会见
        此误差爆发于WebLogic的T3服务,因此可通过控制T3协议的会见来暂时阻断针对该误差的攻击 。当开放WebLogic控制台端口(默以为7001端口)时,T3服务会默认开启 。
        详细操作:
        a)进入WebLogic控制台,在base_domain的设置页面中,进入“清静”选项卡页面,点击“筛选器”,进入毗连筛选器设置 。
        b)在毗连筛选器中输入:weblogic.security.net.ConnectionFilterImpl,在毗连筛选器规则中输入:127.0.0.1 * * allow t3 t3s,0.0.0.0/0 * * deny t3 t3s(t3和t3s协议的所有端口只允许外地会见) 。

        c)生涯后需重新启动,规则方可生效 。

   尊龙凯时 - 人生就是搏!


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