XmlUtil.readObjectFromXml增加注入漏洞的警告注释,并标识为废弃

This commit is contained in:
Looly 2023-01-15 11:08:09 +08:00
parent b4f6ffc66f
commit 554b828745
2 changed files with 17 additions and 3 deletions

View File

@ -6,6 +6,8 @@
# 5.8.12.M1 (2023-01-15) # 5.8.12.M1 (2023-01-15)
### 🐣新特性 ### 🐣新特性
* 【core 】 XmlUtil.readObjectFromXml增加注入漏洞的警告注释并标识为废弃issue#2857@Github
### 🐞Bug修复 ### 🐞Bug修复
* 【core 】 修复HexUtil.isHexNumber()对"-"的判断问题issue#2857@Github * 【core 】 修复HexUtil.isHexNumber()对"-"的判断问题issue#2857@Github

View File

@ -331,36 +331,48 @@ public class XmlUtil {
} }
/** /**
* 从XML中读取对象 Reads serialized object from the XML file. * 从XML中读取对象 Reads serialized object from the XML file.<br>
* 注意使用此方法解析不受信任 XML 字符串时可能容易受到远程代码执行攻击<br>
* https://gitee.com/dromara/hutool/issues/I6AEX2
* *
* @param <T> 对象类型 * @param <T> 对象类型
* @param source XML文件 * @param source XML文件
* @return 对象 * @return 对象
* @deprecated 使用此方法解析不受信任 XML 字符串时可能容易受到远程代码执行攻击废弃
*/ */
@Deprecated
public static <T> T readObjectFromXml(File source) { public static <T> T readObjectFromXml(File source) {
return readObjectFromXml(new InputSource(FileUtil.getInputStream(source))); return readObjectFromXml(new InputSource(FileUtil.getInputStream(source)));
} }
/** /**
* 从XML中读取对象 Reads serialized object from the XML file. * 从XML中读取对象 Reads serialized object from the XML file.<br>
* 注意使用此方法解析不受信任 XML 字符串时可能容易受到远程代码执行攻击<br>
* https://gitee.com/dromara/hutool/issues/I6AEX2
* *
* @param <T> 对象类型 * @param <T> 对象类型
* @param xmlStr XML内容 * @param xmlStr XML内容
* @return 对象 * @return 对象
* @since 3.2.0 * @since 3.2.0
* @deprecated 使用此方法解析不受信任 XML 字符串时可能容易受到远程代码执行攻击废弃
*/ */
@Deprecated
public static <T> T readObjectFromXml(String xmlStr) { public static <T> T readObjectFromXml(String xmlStr) {
return readObjectFromXml(new InputSource(StrUtil.getReader(xmlStr))); return readObjectFromXml(new InputSource(StrUtil.getReader(xmlStr)));
} }
/** /**
* 从XML中读取对象 Reads serialized object from the XML file. * 从XML中读取对象 Reads serialized object from the XML file.<br>
* 注意使用此方法解析不受信任 XML 字符串时可能容易受到远程代码执行攻击<br>
* https://gitee.com/dromara/hutool/issues/I6AEX2
* *
* @param <T> 对象类型 * @param <T> 对象类型
* @param source {@link InputSource} * @param source {@link InputSource}
* @return 对象 * @return 对象
* @since 3.2.0 * @since 3.2.0
* @deprecated 使用此方法解析不受信任 XML 字符串时可能容易受到远程代码执行攻击废弃
*/ */
@Deprecated
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static <T> T readObjectFromXml(InputSource source) { public static <T> T readObjectFromXml(InputSource source) {
Object result; Object result;