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

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

内容简介:该漏洞是在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反序列化漏洞分析》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

阿里巴巴

阿里巴巴

邓肯·克拉克 (Duncan Clark) / 中信出版社 / 2016-8-22 / CNY 58.00

阿里巴巴的故事在中国已是家喻户晓,马云的个人魅力和非凡的商业头脑也早已声名远扬。而一千个人眼中会有一千个不一样的马云, 一个外国投资人、咨询顾问眼中的马云和阿里巴巴会是什么样的?1994年就来到中国,阿里巴巴创业早期的咨询顾问克拉克先生将阿里巴巴帝国崛起过程中他的见闻、感触和思考结合深入的访谈、研究写成了这本书。 书中既可以读到阿里巴巴艰辛的创业历程、惊心动魄的商业对垒,也不乏有趣好玩儿的背......一起来看看 《阿里巴巴》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

SHA 加密
SHA 加密

SHA 加密工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具