文章目录
Fastjson反序列化漏洞
一、Fastjson历史漏洞
- 任意文件读取(CVE-2019-12086):使用了jackson-databind 2.x before 2.9.9的Java应用,如果ClassPath中有com.mysql.cj.jdbc.admin.MiniAdmin(存在于MySQL的JDBC驱动中)这个类,那么Java应用所在的服务器上的文件,就可能被任意读取并传送到恶意的MySQL Server。
- DOS攻击漏洞(CVE-2017-18386):在Fastjson 1.2.41之前的版本中,存在一个类型转换漏洞,它允许攻击者执行拒绝服务(DoS)攻击。CVE-2017-18386 的核心问题与 FastJSON 处理深度嵌套的 JSON 数据的方式有关。当 FastJSON 尝试解析具有过度嵌套的 JSON 数据时,可能会进入递归处理循环,从而耗尽栈内存,导致栈溢出。此栈溢出可能会导致 Java 应用程序崩溃或变得无响应,从而有效地导致拒绝服务。
- 远程代码执行(RCE)漏洞(CVE-2022-25845):影响版本为 1.2.83 之前的版本。FastJSON 漏洞的核心问题在于 “AutoType” 功能。AutoType 是一种机制,允许 JSON 解析器在反序列化过程中自动识别并实例化 Java 类。该漏洞允许攻击者利用 AutoType 机制实例化 classpath 中的任意类,随后利用这些类执行恶意代码。