CVE-2019-2729 Weblogic XMLDecoder反序列化漏洞分析

栏目: Java · 发布时间: 6年前

内容简介:该漏洞是在4月份

漏洞分析

该漏洞是 CVE-2019-2725 的绕过,因此前面的流程都是一样的,经过21个 handler 处理,最终进入 WorkAreaHeader

CVE-2019-2729 Weblogic XMLDecoder反序列化漏洞分析

在4月份 oracle 对2725紧急补丁中,过滤了 class 元素,因此不能再通过 class 创建对象

CVE-2019-2729 Weblogic XMLDecoder反序列化漏洞分析

这次的绕过实际上就是找到另外的元素代替 class 进而绕过补丁。

jdk7 中解析 xml 时获取 element 元素的相关类为 com.sun.beans.decoder.DocumentHandler

当传入 array 标签,进入 ArrayElementHandler ,为 array 元素添加属性时,只能从 lengthclassid 中选择,唯一能创建类的 class 已经加入了黑名单,所以在 jdk1.7 下不受此漏洞影响,这次的绕过出现在低于 jdk1.7java 版本上。

weblogic 10.3.6.0 自带的 jdk 版本为1.6, jdk1.6 中解析xml时有很大的不同,相关处理方法在 com.sun.beans.ObjectHandler

解析时首先进入的是 startElement 方法

该方法首先获取元素的属性并创建一个 hashmap ,当元素含有属性时,会根据属性值进行类/属性/方法的相关操作,当元素没有属性时,调用的是 new 方法,例如解析 <java><void> 时。而此时如果传入了 method 值就会把方法名设置为该值。

CVE-2019-2729 Weblogic XMLDecoder反序列化漏洞分析

随后把方法名设置为我们传入的值,最终通过 forName 找到指定的类

CVE-2019-2729 Weblogic XMLDecoder反序列化漏洞分析

CVE-2019-2729 Weblogic XMLDecoder反序列化漏洞分析

之后的流程就和2725一样的了

CVE-2019-2729 Weblogic XMLDecoder反序列化漏洞分析

进入 WorkContextXmlInputAdapter:readUTF() 后的调用栈

CVE-2019-2729 Weblogic XMLDecoder反序列化漏洞分析

补丁分析

6月19日, Oralce 官方放出了该漏洞的补丁,详情见 这里

分析一下补丁

this.validate(new ByteArrayInputStream(baos.toByteArray()));
this.validateFormat(new ByteArrayInputStream(baos.toByteArray()));
this.xmlDecoder = new XMLDecoder(new ByteArrayInputStream(baos.toByteArray()));

在原来 validate 过滤的基础上又增加了一次 validateFormat 过滤,过滤方法如下

CVE-2019-2729 Weblogic XMLDecoder反序列化漏洞分析

这回终于是采用了白名单方式, allowedName 如下

CVE-2019-2729 Weblogic XMLDecoder反序列化漏洞分析

可以看到 allowedName 严格限制了可以使用的标签,并且也限制了标签可以拥有的属性,值得注意的是 allowedName 不再允许 field 标签了,emmm…

总结

这个漏洞是当时应急时简单分析的,后续有时间会详细整理一下。

从整个 XMLDecoder 反序列化漏洞的来看(CVE-2017-3506 -> CVE-2017-10271(10352) -> CVE-2019-2725 -> CVE-2019-2729),使用黑名单修补漏洞是不靠谱的,永远不知道下一次绕过是在什么时候,而这次的白名单修复方式会不会还存在缺陷呢?此处还得打一个问号。

Back to posts


以上所述就是小编给大家介绍的《CVE-2019-2729 Weblogic XMLDecoder反序列化漏洞分析》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

硅谷之谜

硅谷之谜

吴军 / 人民邮电出版社 / 2015-12-1 / 59.00

这是一本颠覆人们对信息时代的认识、对创新和创业的理解的好书。作者吴军通过介绍硅谷成功的秘诀,揭示了信息时代的特点和方法论。 近年来,吴军从技术和管理人员变成了投资人,他对IT领域,尤其是对科技创新因而有了更深入的了解。他根据这些年在硅谷所获得的第一手资料,结合自己的思考,回答了长期以来令大家深感困惑的一个不解之谜,那就是—为什么硅谷在全世界其他地区难以复制? 《硅谷之谜》从某种意义上讲......一起来看看 《硅谷之谜》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

SHA 加密
SHA 加密

SHA 加密工具