Fastjson远程代码执行漏洞深度解析:原生类绕过与fdbridge两阶段完整利用

发布于 2026-07-26 来源 DDOS.COM 5

Fastjson作为国内Java开发使用率极高的JSON序列化框架,广泛应用于电商、政务、金融、后端接口系统,其反序列化远程代码执行漏洞长期是网络攻防重点。多数企业仅依靠关闭AutoType、配置黑名单做基础防护,但安全研究人员最新披露,Fastjson存在双重突破路径:依靠JDK原生类实现检测绕过,搭配fdbridge构建两阶段攻击链路,哪怕AutoType默认关闭、传统Gadget全部拉黑,攻击者依旧可实现无依赖远程代码执行。

Fastjson

一、原生类绕过:跳出黑名单管控,绕开AutoType校验机制

传统FastjsonRCE依赖第三方依赖Gadget触发,厂商通过维护黑名单拦截危险类;而原生类绕过直接依托JDK自带原生Java类突破限制,无需额外第三方组件适配,通用性更强。

Fastjson依靠checkAutoType函数完成黑白名单校验,但MiscCodec反序列化处理器处理java.lang.Class类型时,会直接调用TypeUtils.loadClass,全程跳过AutoType黑白名单检测,形成天然校验缺口。攻击者构造双层JSON载荷,第一层利用Class原生类把危险利用类写入类缓存;第二层直接读取缓存加载恶意类,实现JNDI远程寻址,借助JdbcRowSetImpl等原生类调用RMI、LDAP服务,远程拉取恶意代码执行命令。

这种绕过方式适配绝大多数JDK环境,不受项目引入包限制。很多运维误以为拉黑第三方Gadget就能防护,却忽略JDK原生类不在黑名单范围内,让防护屏障形同虚设。即便升级至Fastjson1.2.83等高版本,原生类加载逻辑依旧存在漏洞入口。

  

二、fdbridge两阶段利用:适配新版JDK,打通跨系统攻击链路

随着JDK17、JDK21收紧URL类加载规则,传统远程HTTP拉取恶意类被拦截,安全团队研发fdbridge两阶段利用方式,依托Linux系统/proc/self/fd文件句柄特性完成攻击,覆盖新版JDK全环境。

第一阶段:探测文件句柄,完成资源寻址

攻击者发送探测载荷,利用Fastjson@type字段替换规则,将自定义类名转为jar:file:/proc/self/fd/路径,依靠ClassLoader遍历进程文件句柄,确认目标服务器可用fd编号。SpringBoot打包的FatJar类加载器支持解析特殊jar协议地址,顺利读取fd指向的文件资源,完成前置探测。

第二阶段:加载带注解恶意类,触发代码执行
Fastjson读取资源字节码后,自动扫描代码是否携带@JSONType注解;命中注解则绕过安全校验直接加载类,类初始化<clinit>方法自动执行系统命令,完成RCE攻击。fdbridge利用本地文件句柄替代外网HTTP请求,规避JDK外网资源访问限制,Linux、macOS均可复现,适配云服务器、容器、微服务等主流部署环境。整个攻击分为探测、执行两段,隐蔽性更强,日志痕迹分散,常规安全巡检很难溯源。

 

三、漏洞真实危害:全行业通用,入侵链路隐蔽难排查

这套复合攻击链条适配Fastjson1.2.47至1.2.83主流版本,覆盖互联网绝大多数Java后端业务。黑客入侵后可实现服务器命令执行、文件读写、内网横向渗透,盗取数据库账号、业务接口密钥、用户隐私数据。

容器化部署的项目风险最高,容器内/proc文件默认开放,fd利用成功率极高;政务、金融系统普遍使用高版本JDK,原本依靠JDK安全限制防护,如今fdbridge打破边界。同时两阶段攻击分步发包,防火墙、WAF难以识别完整攻击载荷,容易被规则放行,导致入侵长期潜伏。

 

四、分层防护方案,封堵原生绕过与fdbridge全部入口

1、版本强制升级:全线迁移至Fastjson2.x稳定版本,新版重构AutoType校验逻辑,移除MiscCodec无校验加载漏洞,彻底杜绝原生类绕过。坚决停止使用1.x全系列高风险版本。

2、开启安全沙箱模式:线上环境强制开启SafeMode,禁用自定义类加载,限制@type协议解析,拦截jar、http等特殊协议路径,阻断fd路径寻址入口。

3、服务器系统加固:Linux容器限制/proc/self/fd访问权限,非必要容器屏蔽proc文件挂载;限制Java进程文件句柄读取范围,杜绝通过fd读取恶意字节码。

4、WAF与接口管控:API网关拦截JSON内包含jar、proc、fd关键字的请求,限制入参@type字段;定期扫描接口入参,拦截恶意JNDI、文件路径类载荷。

5、最小权限运行Java进程:业务进程禁止root权限启动,缩小文件读取、命令调用权限,即便漏洞被利用,也能降低服务器失控风险。

 

Fastjson原生类绕过搭配fdbridge两阶段利用,补齐了新旧JDK环境的攻击适配能力,打破了“关AutoType、拉黑Gadget即可安全”的固有认知。该漏洞利用不依赖第三方组件、适配容器与云服务器,攻击链路隐蔽,成为现阶段Fastjson最高危的攻击手段。

对于所有使用Fastjson的企业,被动配置黑名单已经不足以保障安全,必须以版本升级、沙箱开启、系统权限收紧为核心建立多层防护。后端安全运维需要定期复盘Fastjson漏洞利用新手法,跟进协议解析、类加载相关漏洞更新,从代码框架、服务器、网关多维度闭环管控,彻底封堵反序列化RCE攻击通道。