漏洞描述
Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean 。
autotype开关的限制可被绕过,然后链式地反序列化某些原本是不能被反序列化的有安全风险的类。
漏洞实际造成的危害与 gadgets 有关,gadgets中使用的类必须不在黑名单中,本漏洞无法绕过黑名单的限制。
风险等级高危
影响版本Fastjson <= 1.2.68
修复建议截止公告发布,官方暂未发布新版本,您可以采取下述缓解方案进行解决。:
1)关注官方更新公告,待官方更新后,升级版本到 1.2.69 版本;
2)升级到 Fastjson 1.2.68 版本,通过配置以下参数开启 SafeMode 来防护攻击:ParserConfig.getGlobalInstance().setSafeMode(true);(safeMode 会完全禁用 autotype,无视白名单,请注意评估对业务影响);
3) 推荐采用 Jackson-databind 或者 Gson 等组件进行替换。
【备注】:建议您在安装补丁前做好数据备份工作,避免出现意外
漏洞参考1)官方更新通告:https://github.com/alibaba/fastjson/releases
2)类似问题参考:
https://github.com/FasterXML/jackson-databind/issues/2620#