Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 603

不安全反序列化

审核人Cybersecurity entrepreneur & security researcher

不安全反序列化 是什么?

不安全反序列化应用对不可信数据进行反序列化的漏洞,攻击者可借此实例化任意对象,常常实现远程代码执行。


当应用把序列化数据(Java/PHP/Python/.NET 的二进制格式、YAML 或带类型元信息的 JSON)还原为对象时,反序列化器可能调用构造函数、魔术方法或 gadget 链。在输入不可信的情况下,攻击者构造的 payload 会在反序列化过程中触发危险行为,导致 RCE、认证绕过、文件写入或 DoS。Apache Commons Collections(Java)、Pickle(Python)、.NET BinaryFormatter 等库中的 gadget 链曾引发重大事件。防御措施包括完全避免对不可信数据反序列化、使用无类型恢复的格式(显式 schema 的纯 JSON)、对序列化数据签名、对可反序列化类型采用白名单,并保持运行时更新。

示例

  1. 01

    Java 应用对会话 Cookie 反序列化,classpath 中存在 Commons Collections,导致 RCE。

  2. 02

    Python 服务对用户控制的字节运行 pickle.loads。

常见问题

不安全反序列化 是什么?

应用对不可信数据进行反序列化的漏洞,攻击者可借此实例化任意对象,常常实现远程代码执行。 它属于网络安全的 漏洞 分类。

不安全反序列化 是什么意思?

应用对不可信数据进行反序列化的漏洞,攻击者可借此实例化任意对象,常常实现远程代码执行。

如何防御 不安全反序列化?

针对 不安全反序列化 的防御通常结合技术控制与运营实践,详见上方完整定义。

不安全反序列化 还有哪些其他名称?

常见的别称包括: 不安全的反序列化, 对象反序列化漏洞。

相关术语

另见