Fastjson 反序列化任意代码执行漏洞

 2022-07-20    0 条评论    80107 浏览

漏洞

漏洞说明

Fastjson是一个Java语言编写的高性能功能完善的JSON库。由于其简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。

Fastjson Develop Team 于2022年5月23日披露 fastjson 1.2.80及以下版本存在新的反序列化漏洞风险,该利用在特定条件下可绕过默认autoType关闭限制,导致任意代码执行,攻击远程服务器,风险影响较大,建议fastjson用户尽快采取安全措施保障系统安全。

解决方案

升级到fastjson最新版本1.2.83

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

<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>fastjson</artifactId>
	<version>1.2.83</version>
</dependency>

注意:该版本涉及autotype行为变更,在某些场景会出现不兼容的情况,如遇到问题可以到 https://github.com/alibaba/fastjson/issues 寻求帮助。

升级到fastjson v2

fastjson v2地址:https://github.com/alibaba/fastjson2/releases

<dependency>
	<groupId>com.alibaba.fastjson2</groupId>
	<artifactId>fastjson2</artifactId>
	<version>2.0.9</version>
</dependency>

Ps. fastjson已经开源2.0版本,在2.0版本中,不再为了兼容提供白名单,提升了安全性。fastjson v2代码已经重写,性能有了很大提升,不完全兼容1.x,升级需要做认真的兼容测试。

升级遇到问题,可以在https://github.com/alibaba/fastjson2/issues 寻求帮助。 扫描到服务器存在漏洞风险,建议立即对相关主机进行快照备份,避免遭受损失。

升级到兼容版的1.x

<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>fastjson</artifactId>
	<version>2.0.9</version>
</dependency>
异常提示: 现场企业版360杀毒,居然检测出fastjson的依赖包(fastjson2-2.0.9.jar)是病毒.

修复 改为1.2.83版本

<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>fastjson</artifactId>
	<version>1.2.83</version>
</dependency>

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