Fastjson 1.2.80 及之前版本存在 Throwable 反序列化漏洞

简介: Fastjson 1.2.80 及之前版本存在 Throwable 反序列化漏洞

遵纪守法
任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得危害网络安全,不得利用网络从事危害国家安全、荣誉和利益

漏洞描述
Fastjson 是阿里巴巴开源的 Java 对象和 JSON 格式字符串的快速转换的工具库。Fastjson Develop Team 发布修复了 Fastjson 1.2.80 及之前版本存在的安全风险,该安全风险可能导致反序列化漏洞。

资产确定
app="Fastjson"
影响范围
Fastjson <= 1.2.80
漏洞复现
目前暂未公开exp

修复建议
官方修复方案
https://github.com/alibaba/fastjson/wiki/security_update_20220523

升级版本
升级到最新版本1.2.83

https://github.com/alibaba/fastjson/releases/tag/1.2.83

safeMode 加固
Fastjson 在1.2.68及之后的版本中引入了 safeMode,配置 safeMode 后,无论白名单和黑名单,都不支持 autoType,可杜绝反序列化Gadgets类变种攻击(关闭 autoType 注意评估对业务的影响)

参考 https://github.com/alibaba/fastjson/wiki/fastjson_safemode

升级到 Fastjson v2
Fastjson v2地址 https://github.com/alibaba/fastjson2/releases

参考链接
https://github.com/alibaba/fastjson/wiki/security_update_20220523 https://github.com/alibaba/fastjson/releases/tag/1.2.83

目录
相关文章
|
6月前
|
JSON Java API
GSON 泛型对象反序列化解决方案
GSON 泛型对象反序列化解决方案
290 0
hutool工具对象序列化和反序列化
hutool工具对象序列化和反序列化
hutool工具对象序列化和反序列化
|
1月前
|
安全 网络协议 Java
Java反序列化漏洞与URLDNS利用链分析
Java反序列化漏洞与URLDNS利用链分析
49 3
|
存储 JSON fastjson
聊聊fastjson反序列化的那些坑
聊聊fastjson反序列化的那些坑
2867 0
聊聊fastjson反序列化的那些坑
|
JSON 缓存 安全
fastjson反序列化历史与检测
fastjson反序列化历史与检测
|
Java fastjson
fastJson序列化与反序列化
fastJson序列化与反序列化
|
XML JSON 缓存
【WEB安全】Fastjson反序列化(上)
Java 序列化及反序列化处理在基于Java 架构的Web应用中具有尤为重要的作用。例如位于网络两端、彼此不共享内存信息的两个Web应用在进行远程通信时,无论相互间发送何种类型的数据,在网络中实际上都是以二进制序列的形式传输的。为此,发送方必须将要发送的Java 对象序列化为字节流,接收方则需要将字节流再反序列化还原得到Java 对象,才能实现正常通信。当攻击者输入精心构造的字节流被反序列化为恶意对象时,就会造成一系列的安全问题。
573 0
【WEB安全】Fastjson反序列化(上)
|
存储 缓存 安全
Java安全之反序列化漏洞分析
Java安全之反序列化漏洞分析
430 0
Java安全之反序列化漏洞分析
|
存储 安全 Dubbo
深入剖析 Java 反序列化漏洞(上)
在上篇文章中,小编有详细的介绍了序列化和反序列化的玩法,以及一些常见的坑点。 但是,高端的玩家往往不会仅限于此,熟悉接口开发的同学一定知道,能将数据对象很轻松的实现多平台之间的通信、对象持久化存储,序列化和反序列化是一种非常有效的手段,例如如下应用场景,对象必须 100% 实现序列化。 DUBBO:对象传输必须要实现序列化 RMI:Java 的一组拥护开发分布式应用程序 API,实现了不同操作系统之间程序的方法调用,RMI 的传输 100% 基于反序列化,Java RMI 的默认端口是 1099 端口
深入剖析 Java 反序列化漏洞(上)
|
存储 JSON 安全
深入剖析 Java 反序列化漏洞(下)
在上篇文章中,小编有详细的介绍了序列化和反序列化的玩法,以及一些常见的坑点。 但是,高端的玩家往往不会仅限于此,熟悉接口开发的同学一定知道,能将数据对象很轻松的实现多平台之间的通信、对象持久化存储,序列化和反序列化是一种非常有效的手段,例如如下应用场景,对象必须 100% 实现序列化。 DUBBO:对象传输必须要实现序列化 RMI:Java 的一组拥护开发分布式应用程序 API,实现了不同操作系统之间程序的方法调用,RMI 的传输 100% 基于反序列化,Java RMI 的默认端口是 1099 端口
深入剖析 Java 反序列化漏洞(下)