diff --git a/CHANGELOG.md b/CHANGELOG.md
index f9de603be..3768fed4b 100755
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,10 +3,9 @@
-------------------------------------------------------------------------------------------------------------
-# 5.8.12.M1 (2023-01-19)
+# 5.8.12.M1 (2023-02-09)
### 🐣新特性
-* 【core 】 XmlUtil.readObjectFromXml增加注入漏洞的警告注释,并标识为废弃(issue#2857@Github)
* 【http 】 HttpGlobalConfig.allowPatch()调用时忽略错误(issue#2832@Github)
* 【core 】 重构根据file magic number判断文件类型(pr#2834@Github)
* 【core 】 增加WGS84 坐标与墨卡托投影互转(pr#2811@Github)
@@ -22,6 +21,7 @@
* 【core 】 修复FileUtil的rename在newName与原文件夹名称一样时,文件夹会被删除问题(issue#2845@Github)
* 【core 】 修复IoUtil.readBytes使用SocketInputStream读取不完整问题(issue#I6AT49@Gitee)
* 【core 】 修复ClassScanner自定义classload无效问题(issue#I68TV2@Gitee)
+* 【core 】 【重要】删除XmlUtil.readObjectFromXml方法,避免漏洞(issue#2857@Github)
-------------------------------------------------------------------------------------------------------------
diff --git a/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java
index 9474ece4f..692274005 100755
--- a/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java
@@ -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.
- * 注意,使用此方法解析不受信任 XML 字符串时,可能容易受到远程代码执行攻击!
- * 见:https://gitee.com/dromara/hutool/issues/I6AEX2
- *
- * @param 对象类型
- * @param source XML文件
- * @return 对象
- * @deprecated 使用此方法解析不受信任 XML 字符串时,可能容易受到远程代码执行攻击,废弃
- */
- @Deprecated
- public static T readObjectFromXml(File source) {
- return readObjectFromXml(new InputSource(FileUtil.getInputStream(source)));
- }
-
- /**
- * 从XML中读取对象 Reads serialized object from the XML file.
- * 注意,使用此方法解析不受信任 XML 字符串时,可能容易受到远程代码执行攻击!
- * 见:https://gitee.com/dromara/hutool/issues/I6AEX2
- *
- * @param 对象类型
- * @param xmlStr XML内容
- * @return 对象
- * @since 3.2.0
- * @deprecated 使用此方法解析不受信任 XML 字符串时,可能容易受到远程代码执行攻击,废弃
- */
- @Deprecated
- public static T readObjectFromXml(String xmlStr) {
- return readObjectFromXml(new InputSource(StrUtil.getReader(xmlStr)));
- }
-
- /**
- * 从XML中读取对象 Reads serialized object from the XML file.
- * 注意,使用此方法解析不受信任 XML 字符串时,可能容易受到远程代码执行攻击!
- * 见:https://gitee.com/dromara/hutool/issues/I6AEX2
- *
- * @param 对象类型
- * @param source {@link InputSource}
- * @return 对象
- * @since 3.2.0
- * @deprecated 使用此方法解析不受信任 XML 字符串时,可能容易受到远程代码执行攻击,废弃
- */
- @Deprecated
- @SuppressWarnings("unchecked")
- public static 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
/**