近日Fastjson Develop Team 发现 fastjson 1.2.80及以下存在新的风险

发布时间:2022-05-29 14:40:48

1. 风险描述

fastjson已使用黑白名单用于防御反序列化漏洞,经研究该利用在特定条件下可绕过默认autoType关闭限制,攻击远程服务器,风险影响较大。建议fastjson用户尽快采取安全措施保障系统安全。

2. 影响版本

特定依赖存在下影响 ≤1.2.80

 

3. 升级方案

 

3.1升级到最新版本1.2.83 https://github.com/alibaba/fastjson/releases/tag/1.2.83

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

 

3.2 safeMode加固

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

 

3.2.1 开启方法

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

3.2.2 使用1.2.83之后的版本是否需要使用safeMode

 

1.2.83修复了此次发现的漏洞,开启safeMode是完全关闭autoType功能,避免类似问题再次发生,这可能会有兼容问题,请充分评估对业务影响后开启。

 

3.2.3 开启了safeMode是否需要升级

开启safeMode不受本次漏洞影响,可以不做升级。

 

3.3 升级到fastjson v2

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

fastjson已经开源2.0版本,在2.0版本中,不再为了兼容提供白名单,提升了安全性。fastjson v2代码已经重写,性能有了很大提升,不完全兼容1.x,升级需要做认真的兼容测试。升级遇到问题,可以在https://github.com/alibaba/fastjson2/issues 寻求帮助。

 

3.4 noneautotype版本

在5月26日后,为了方便使用老版本用户兼容安全加固需求,提供了noneautotype版本,效果和1.2.68的safeMode效果一样,完全禁止autotype功能。使用noneautotype版本的用户也不受此次漏洞影响。

如果需要更多autotype版本,请在https://github.com/alibaba/fastjson/issues 提要求

 

出处:https://github.com/alibaba/fastjson/wiki/security_update_20220523