当前位置:首页 >> 业界动态
Fastjson远程代码执行漏洞通告
1. 漏洞类型:
TAG: 通达信科、OA、用户伪造
危害等级:
应急等级: 黄色

2. 漏洞影响:
  Fastjson在1.2.68及以下版本中存在远程代码执行漏洞,该漏洞可绕过autoType开关的限制,从而反序列化有安全风险的类,攻击者利用该漏洞可实现远程代码执行直接获取服务器权限。
  Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。由于具有执行效率高的特点,应用范围广泛。请相关用户尽快采取防护措施。

3. 受影响版本:
  •  Fastjson <= 1.2.68
检测命令:
lsof | grep fastjson
注:在Fastjson 1.2.68版本中,官方添加了SafeMode 功能,可完全禁用autoType。
4. 检测方法:
  工具使用环境:JDK 8
  我中心已具备Fastjson反序列化漏洞检测工具 “Fastjson-Payload.jar” ( 如有需要请联系负责人邓先生获取,13825014512),在包含检测脚本“Fastjson-Payload.jar”的目录中,打开命令行运行以下语句(生成验证载荷):java -jar Fastjson-Payload.jar --use 20170315
  Burp拦截fastjson目录的POST访问信息包,把生成的json报文复制到信息主体,点击发送,若存在漏洞即服务器会弹出“计算器”,若不存在则不会。
5. 防护建议:
  目前暂未发布针对此漏洞的修复版本,受影响用户可通过禁用autoType来规避风险,另建议将JDK升级到最新版本。由于autotype开关的限制可被绕过,请受影响用户升级Fastjson至1.2.68版本,通过开启safeMode配置完全禁用autoType。三种配置SafeMode的方式如下:
(1)在代码中配置:
ParserConfig.getGlobalInstance().setSafeMode(true);
(2)加上JVM启动参数:
-Dfastjson.parser.safeMode=true
如果有多个包名前缀,可用逗号隔开。
(3)通过fastjson.properties文件配置:
通过类路径的fastjson.properties文件来配置,配置方式如下:
fastjson.parser.safeMode=true
也可通过将有风险的类添加至黑名单进行防护:
ParserConfig.getGlobalInstance().addDeny("类名");

6. 参考链接:
请相关用户近期持续关注Fastjson官方公告,在官方发布修复版本后,及时升级对此漏洞进行防护。官方下载链接:
https://github.com/alibaba/fastjson/releases