mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
【重要】删除XmlUtil.readObjectFromXml方法,避免漏洞
This commit is contained in:
@@ -39,7 +39,6 @@ import javax.xml.xpath.XPath;
|
||||
import javax.xml.xpath.XPathConstants;
|
||||
import javax.xml.xpath.XPathExpressionException;
|
||||
import javax.xml.xpath.XPathFactory;
|
||||
import java.beans.XMLDecoder;
|
||||
import java.beans.XMLEncoder;
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.BufferedWriter;
|
||||
@@ -330,62 +329,6 @@ public class XmlUtil {
|
||||
return readXML(StrUtil.getReader(xmlStr));
|
||||
}
|
||||
|
||||
/**
|
||||
* 从XML中读取对象 Reads serialized object from the XML file.<br>
|
||||
* 注意,使用此方法解析不受信任 XML 字符串时,可能容易受到远程代码执行攻击!<br>
|
||||
* 见:https://gitee.com/dromara/hutool/issues/I6AEX2
|
||||
*
|
||||
* @param <T> 对象类型
|
||||
* @param source XML文件
|
||||
* @return 对象
|
||||
* @deprecated 使用此方法解析不受信任 XML 字符串时,可能容易受到远程代码执行攻击,废弃
|
||||
*/
|
||||
@Deprecated
|
||||
public static <T> T readObjectFromXml(File source) {
|
||||
return readObjectFromXml(new InputSource(FileUtil.getInputStream(source)));
|
||||
}
|
||||
|
||||
/**
|
||||
* 从XML中读取对象 Reads serialized object from the XML file.<br>
|
||||
* 注意,使用此方法解析不受信任 XML 字符串时,可能容易受到远程代码执行攻击!<br>
|
||||
* 见:https://gitee.com/dromara/hutool/issues/I6AEX2
|
||||
*
|
||||
* @param <T> 对象类型
|
||||
* @param xmlStr XML内容
|
||||
* @return 对象
|
||||
* @since 3.2.0
|
||||
* @deprecated 使用此方法解析不受信任 XML 字符串时,可能容易受到远程代码执行攻击,废弃
|
||||
*/
|
||||
@Deprecated
|
||||
public static <T> T readObjectFromXml(String xmlStr) {
|
||||
return readObjectFromXml(new InputSource(StrUtil.getReader(xmlStr)));
|
||||
}
|
||||
|
||||
/**
|
||||
* 从XML中读取对象 Reads serialized object from the XML file.<br>
|
||||
* 注意,使用此方法解析不受信任 XML 字符串时,可能容易受到远程代码执行攻击!<br>
|
||||
* 见:https://gitee.com/dromara/hutool/issues/I6AEX2
|
||||
*
|
||||
* @param <T> 对象类型
|
||||
* @param source {@link InputSource}
|
||||
* @return 对象
|
||||
* @since 3.2.0
|
||||
* @deprecated 使用此方法解析不受信任 XML 字符串时,可能容易受到远程代码执行攻击,废弃
|
||||
*/
|
||||
@Deprecated
|
||||
@SuppressWarnings("unchecked")
|
||||
public static <T> T readObjectFromXml(InputSource source) {
|
||||
Object result;
|
||||
XMLDecoder xmldec = null;
|
||||
try {
|
||||
xmldec = new XMLDecoder(source);
|
||||
result = xmldec.readObject();
|
||||
} finally {
|
||||
IoUtil.close(xmldec);
|
||||
}
|
||||
return (T) result;
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------------------- Write
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user