JAVA安全网JAVA安全网

生命不息,折腾不止。
--JAVA人自留地。

Fastjson <=1.2.68 全版本远程代码执行漏洞

fastjson.jpg

漏洞描述

FastJSON是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。由于具有执行效率高的特点,应用范围广泛。有消息称FastJSON <= 1.2.68 存在远程代码执行漏洞,可直接获取到服务器权限。漏洞成因是Fastjson autotype开关的限制可被绕过,然后链式地反序列化某些原本不能被反序列化的有安全风险的类。

漏洞概述

CVE编号:无
漏洞类型:远程代码执行
危险等级:高危

受影响版本

FastJSON <= 1.2.68

修复建议

官方暂未发布针对此漏洞的修复版本(预计1号发布更新),升级版本到 1.2.69 版本
2020年06月01日更新,官方发布1.2.69,并且发布1.2.70(1.2.69的稳定版)

官网下载链接:https://github.com/alibaba/fastjson/releases

如果遇到兼容问题,原地升级sec10版本

  • 1.1.15~1.1.31 -> 1.1.31.sec10
  • 1.1.32~1.1.33 -> 1.1.33.sec10
  • 1.1.34 -> 1.1.34.sec10
  • 1.1.35~1.1.46 -> 1.1.46.sec10
  • 1.2.0~1.2.2 -> 1.2.2.sec10 因为1.2.3之后的版本Map是没有排序输出的,如果不关注这个兼容问题,升级到1.2.70
  • 1.2.3~1.2.7 -> 1.2.7.sec10 因为1.2.7使用最多特别提供,也可以直接使用1.2.8.sec10
  • 1.2.8 -> 1.2.8.sec10
  • 1.2.9~1.2.29 -> 1.2.29.sec10
  • 1.2.30~1.2.48 -> 1.2.48.sec10
  • 1.2.49~1.2.68 -> 1.2.69或1.2.70 中间有很多sec10小版本,建议直接升级到1.2.69或1.2.70,如果遇到兼容再考虑sec10版本
    如果还遇到其他兼容问题,这里有更多的sec10版本 https://repo1.maven.org/maven2/com/alibaba/fastjson/

缓解措施

在1.2.68之后的版本,在1.2.68版本中,fastjson增加了safeMode的支持。safeMode打开后,完全禁用autoType。所有的安全修复版本sec10也支持SafeMode配置。
由于autotype开关的限制可被绕过,请受影响用户升级到FastJSON 1.2.68版本,通过开启safeMode配置完全禁用autoType。三种配置SafeMode的方式如下:

  • 在代码中配置: ParserConfig.getGlobalInstance().setSafeMode(true);
  • 加上JVM启动参数: -Dfastjson.parser.safeMode=true (如果有多个包名前缀,可用逗号隔开)
  • 通过类路径的fastjson.properties文件来配置: fastjson.parser.safeMode=true

官方公告

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

官方配置safeMode

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

未经允许不得转载:JAVA安全网 » Fastjson <=1.2.68 全版本远程代码执行漏洞

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. 这个好像好多公司都在用。。

    0okororin (2020-06-01) 回复
    • 是的,这个漏洞影响范围非常大,而且是代码执行的,建议尽快升级。

      sevck (2020-06-01) 回复