漏洞描述
近日,亚信安(ān)全CERT监控到Fastjson Develop Team发布安(ān)全公(gōng)告,修复了一个存在于Fastjson1.2.80及之前版本中(zhōng)的反序列化漏洞。
Fastjson已使用(yòng)黑白名(míng)单用(yòng)于防御反序列化漏洞,该利用(yòng)在特定条件下可(kě)绕过默认autoType关闭限制,攻击遠(yuǎn)程服務(wù)器,风险影响较大。在默认配置下,当应用(yòng)或系统使用(yòng)Fastjson对由用(yòng)户可(kě)控的JSON字符串进行解析时,将可(kě)能(néng)导致遠(yuǎn)程代码执行的危害 。建议Fastjson用(yòng)户尽快采取安(ān)全措施保障系统安(ān)全。
Fastjson是阿里巴巴的开源JSON解析库,它可(kě)以解析JSON格式的字符串,支持将Java Bean序列化為(wèi)JSON字符串,也可(kě)以从JSON字符串反序列化到JavaBean。
漏洞编号及评分(fēn)
暂无
漏洞状态
受影响的版本
特定依赖存在下影响 ≤1.2.80
修复建议
※ 升级到最新(xīn)版本1.2.83
下载地址:https://github.com/alibaba/fastjson/releases/tag/1.2.83
该版本涉及autotype行為(wèi)变更,在某些场景会出现不兼容的情况,如遇到问题可(kě)以到https://github.com/alibaba/fastjson/issues寻求帮助。
※ safeMode加固
Fastjson在1.2.68及之后的版本中(zhōng)引入了safeMode,配置safeMode后,无论白名(míng)单和黑名(míng)单,都不支持autoType,可(kě)杜绝反序列化Gadgets类变种攻击(关闭autoType注意评估对业務(wù)的影响)
开启方法:参考 https://github.com/alibaba/fastjson/wiki/fastjson_safemode
使用(yòng)1.2.83之后的版本是否需要使用(yòng)safeMode:1.2.83修复了此次发现的漏洞,开启safeMode是完全关闭autoType功能(néng),避免类似问题再次发生,这可(kě)能(néng)会有(yǒu)兼容问题,请充分(fēn)评估对业務(wù)影响后开启。
※ 升级到fastjson v2
fastjson v2地址 https://github.com/alibaba/fastjson2/releases
Fastjson已经开源2.0版本,在2.0版本中(zhōng),不再為(wèi)了兼容提供白名(míng)单,提升了安(ān)全性。Fastjson v2代码已经重写,性能(néng)有(yǒu)了很(hěn)大提升,不完全兼容1.x,升级需要做认真的兼容测试。升级遇到问题,可(kě)以在https://github.com/alibaba/fastjson2/issues 寻求帮助。
排查建议
? Maven:排查pom.xml,通过搜索Fastjson确定版本号
? 其他(tā)项目通过搜索jar文(wén)件确定Fastjson版本号
参考链接
https://github.com/alibaba/fastjson/wiki/security_update_20220523