华为云安全团队监测到,虽然Fastjson 1.2.67版本在3月22日刚刚发布,增强了部分autoType安全黑名单,但仍有部分Gadgets相关类(shiro-core、ignite-jta 、aries.transaction.jms、caucho-quercus)未加入到黑名单中,这些Gadgets可造成Fastjson的反序列化漏洞。攻击者利用特定的请求可以触发远程代码执行,攻击成功可获得服务器的控制权限。
目前,华为云Web应用防火墙(Web Application Firewall,WAF)提供了对该漏洞的防护。
一、影响的版本范围
Fastjson<=1.2.67的所有版本。
二、防护方案
官方修复版本尚未发布,建议通过以下方式进行规避:
1、华为云WAF已紧急更新了默认规则库,可对该漏洞进行防护,只需将Web基础防护的状态设置为“拦截”模式。
2、关闭autoType(1.2.25版本开始默认关闭autoType),另外建议将JDK升级到最新版本。autoType关闭方法如下:
方法一:
在项目源码中全文搜索如下代码,将此行代码删除:
ParserConfig.getGlobalInstance().setAutoTypeSupport(true);
方法二:
在JVM中启动项目时,切勿添加以下参数:
-Dfastjson.parser.autoTypeSupport=true
关闭autoType后,对于需要使用“@type”能力的场景,采用添加autoType白名单的方式将目标类设为可用。