一. 漏洞概述
5月28日,绿盟科技监测到有消息称Fastjson在1.2.68及以下版本中存在远程代码执行漏洞,该漏洞可绕过autoType开关的限制,从而反序列化有安全风险的类,攻击者利用该漏洞可实现在目标机器上的远程代码执行。
Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。由于具有执行效率高的特点,应用范围广泛。请相关用户尽快采取防护措施。
二. 影响范围
受影响版本
l Fastjson <= 1.2.68
三. 漏洞检测
3.1 版本检测
相关用户可使用以下命令检测当前使用的Fastjson版本
lsof | grep fastjson |
注:在Fastjson 1.2.68版本中,官方添加了SafeMode 功能,可完全禁用autoType。
四. 漏洞防护
4.1 临时防护措施
官方暂未发布针对此漏洞的修复版本,受影响用户可通过禁用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("类名"); |
请相关用户近期持续关注Fastjson官方公告,在官方发布修复版本后,请相关用户及时升级对此漏洞进行防护。官方下载链接:https://github.com/alibaba/fastjson/releases