漏洞说明
在 WebLogic 里,InboundMsgAbbrev中的resolveProxyClass是可以对rmi的类型进行处理的,但是只简单判断了java.rmi.registry.Registry,为攻击者提供了绕过黑名单的机会,攻击者可以通过使用其他的rmi来绕过Weblogic的黑名单限制。除此之外,java远程方法协议会序列化一个RemoteObjectInvocationHandler,它会利用UnicastRef和远端建立tcp连接,并获取RMI registry,再将加载的内容利用readObject解析,从而造成反序列化远程代码执行。
目前相关PoC已经公开,漏洞验证如下图:
影响范围
通过QUAKE资产系统检索,全球范围内暴露在互联网上的weblogic服务多达11125台,中国区有2690台。
受影响版本
Oracle WebLogic Server10.3.6.0
Oracle WebLogic Server12.2.1.2
Oracle WebLogic Server12.2.1.3
Oracle WebLogic Server12.1.3.0
风险等级
严重级别
修复方法
官方修复方法:
Oracle官方已经在今天的关键补丁更新(CPU)中修复了该漏洞,强烈建议受影响的用户尽快升级更新进行防护。
注:Oracle官方补丁需要用户持有正版软件的许可账号,使用该账号登陆https://support.oracle.com后,可以下载最新补丁。http://www.oracle.com/technetwork/security-advisory/cpujan2017-2881727.html
由于大部分用户还在使用weblogic 11g 中的 10.3.6版本 ,为此针对此版本,我们编写了一份weblogic反序列化的漏洞修复方案。方案及补丁见云盘地址:
链接:https://pan.baidu.com/s/1BNKnaLDwMIGmQWStRCrOcA
密码:d7qn
临时修复方法:
临时解决办法是可通过控制T3协议的访问来临时阻断针对该漏洞的攻击。WebLogic Server 提供了名为 weblogic.security.net.ConnectionFilterImpl 的默认连接筛选器,此连接筛选器接受所有传入连接,可通过此连接筛选器配置规则,对t3及t3s协议进行访问控制。但由于t3及t3s协议有经常在项目中使用,阻断t3协议将会给应用带来影响,目前官方已经出来补丁,不建议使用临时的修复方法。