0x00 漏洞概述

漏洞等级 高危
漏洞编号 暂无
CVSS评级 暂无
公开状态 暂无
在野利用 暂无
披露链接 https://github.com/alibaba/fastjson/wiki/security_update_20220523
更新时间 20220523
影响版本 Fastjson ≤ 1.2.80
解决方案 当前官方已发布最新版本,建议受影响的用户及时更新升级到最新版本。
链接如下: https://github.com/alibaba/fastjson/releases
安全版本 FastJSON 1.2.83

0x01 漏洞详情

漏洞信息

近日,安全部捕获 Fastjson1.2.80 反序列化漏洞情报,攻击者可以利用该漏洞攻击远程服务器, 可能会造成任意命令执行。Fastjson已使用黑白名单用于防御反序列化漏洞,该利用在特定条件下可绕过默认autoType关闭限制,攻击远程服务器,风险影响较大。在默认配置下,当应用或系统使用Fastjson对由用户可控的JSON字符串进行解析时,将可能导致远程代码执行的危害 。目前,FastJson官方已发布该漏洞的安全更新,建议受影响用户,在评估业务影响后可考虑升级到指定安全版本。

Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。

风险描述

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

影响范围

特定依赖存在下影响 ≤1.2.80

0x02 修复方案

目前,FastJson官方已发布该漏洞的安全更新,建议受影响用户,在评估业务影响后可考虑升级到指定安全版本。

  • 升级到最新版本1.2.83:

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

存在问题:升级后,@JSONField注解把jsonstring下划线映射为驼峰式对象字段。

  • 升级至Fastjson v2:

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

https://github.com/alibaba/fastjson2/releases

  • safeMode加固:

Fastjson 在1.2.68及之后的版本中引入了safeMode,配置 safeMode后,无论白名单和黑名单,都不支持 autoType,可杜绝反序列化 Gadgets 类变种攻击(关闭 autoType 注意评估对业务的影响)。因此 1.2.68 及之后版本的用户若无法通过版本升级来修复漏洞,可考虑配置开启 safeMode,具体参考:

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

从长远角度来看,用户也可考虑替换 Fastjson 为 Gson 等更安全的 JSON 解析库。


0x03 参考资料

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