近日,互联网上出现了针对Weblogic Java反序列化漏洞(CNVD-2015-07707,对应CVE-2015-4852)补丁绕过的攻击利用分析情况。官方厂商(Oracle公司)在2015年11月发布了Weblogic Java反序列化漏洞补丁,该漏洞补丁由于采用了不完全的黑名单拦截方式,可以被绕过,后续则需要通过两个新补丁来完成修复。
一、漏洞情况分析
根据目前分析情况,Weblogic Java反序列化漏洞的补丁采用黑名单的方式过滤危险的反序列化类,这种修复方式存在被绕过的风险。目前,互联网上对该漏洞的利用方式主要通过对之后披露的两个新补丁进行逆向分析而获得。其中:
对于Oracle WebLogic Server远程安全漏洞(CNVD-2017-00919 ,CVE-2017-3248)的分析表明,可以利用了黑名单之外的反序列化类,通过JRMP协议达到执行任意反序列化payload。Java远程消息交换协议JRMP即Java Remote MessagingProtocol,是特定于Java技术的、用于查找和引用远程对象的协议。
对于CNVD-2016-02481 ,CVE-2016-0638漏洞的分析表明,通过将反序列化的对象封装进了weblogic.corba.utils.MarshalledObject,然后再对MarshalledObject进行序列化,生成payload字节码。由于MarshalledObject不在WebLogic黑名单里,可正常反序列化,在反序列化时MarshalledObject对象调用readObject时对MarshalledObject封装的序列化对象再次反序列化,可以绕过黑名单的限制。
CNVD对上述风险的综合评级为“高危”。
二、漏洞影响范围
漏洞影响Oracle WebLogic Server 10.3.6.0、12.1.3.0、12.2.1.0、12.2.1.1等之前版本。
三、漏洞修复建议
建议相关版本用户及时用最新补丁更新:
http://www.oracle.com/technetwork/security-advisory/cpujan2017-2881727.html
http://www.oracle.com/technetwork/security-advisory/cpuapr2016v3-2985753.html
附:参考链接:
http://www.oracle.com/technetwork/security-advisory/cpujan2017-2881727.html
http://www.cnvd.org.cn/flaw/show/CNVD-2017-00919
http://www.cnvd.org.cn/flaw/show/CNVD-2016-02481
注:本公告参考了CNVD技术组成员单位启明星辰公司提供的分析结果。