Fastjson <=1.2.68版本存在远程代码执行漏洞!!
漏洞详情
Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
腾讯安全玄武实验室研究员发现,autotype开关的限制可被绕过,然后链式地反序列化某些原本是不能被反序列化的有安全风险的类。
漏洞实际造成的危害与 gadgets 有关,gadgets中使用的类必须不在黑名单中,本漏洞无法绕过黑名单的限制。
风险等级
高风险
漏洞风险
远程代码执行,获取服务器系统权限
影响版本
Fastjson <= 1.2.68fastjson sec版本 <= sec9android版本不受此漏洞影响修复建议
截止公告发布,官方暂未发布新版本,您可以采取下述缓解方案进行解决。:
升级到最新版本1.2.69或者更新的1.2.70版本。1.2.69: https://github.com/alibaba/fastjson/releases/tag/1.2.69
1.2.79: https://github.com/alibaba/fastjson/releases/tag/1.2.70
升级到Fastjson 1.2.68 版本,通过配置以下参数开启 SafeMode 来防护攻击.(safeMode 会完全禁用 autotype,无视白名单,请注意评估对业务影响);有三种方式配置SafeMode:
在代码中配置ParserConfig.getGlobalInstance().setSafeMode(true);加上JVM启动参数-Dfastjson.parser.safeMode=true如果有多个包名前缀,用逗号隔开。通过类路径的fastjson.properties文件配置fastjson.parser.safeMode=true配置参考链接:https://github.com/alibaba/fastjson/wiki/fastjson_safemode
推荐采用 Jackson-databind 或者 Gson 等组件进行替换。详细内容点击查看原文