【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以上的版本。