文章总结: Fastjson1.x(1.2.68-1.2.83)被披露存在严重反序列化远程代码执行漏洞,攻击者无需第三方依赖,仅用JDK原生类即可实现无条件攻击。未开启SafeMode的实例面临被远程控制的风险。官方建议迁移至Fastjson2根治,临时缓解措施为全局开启SafeMode。 综合评分: 90 文章分类: 漏洞分析,安全工具,解决方案,安全建设,WEB安全
突发!Fastjson又出现严重漏洞,可无条件攻击未开启SafeMode模式的组件
原创
mmc mmc
AGI安全
2026年7月20日 18:07 北京
在小说阅读器读本章
去阅读
突发!Fastjson又出现严重漏洞,可无条件攻击未开启SafeMode模式的组件
安全研究者曝光 Fastjson 1.x(1.2.68~1.2.83)一类全新反序列化远程代码执行(RCE)漏洞:无需项目携带任何第三方 Gadget 依赖,仅靠 JDK 原生内置类即可构造完整攻击链,未开启 SafeMode 的实例可被「无条件」远程打穿。
无 Gadget 依赖 · 反序列化 RCE 链路示意攻击者恶意 JSON @typeFastjson 1.2.68~1.2.83SafeMode 未开启 · AutoType 生效仅用 JDK 内置类服务端任意代码执行RCE · 未授权 · 无登录无需第三方依赖 · 传统黑名单 / 删依赖防护全部失效
导语
Fastjson 是阿里开源的高性能 JSON 序列化 / 反序列化组件,在互联网、政企、金融、物联网后端项目中被海量使用。近日安全研究者披露,Fastjson 1.x(1.2.68 ≤ 版本 ≤ 1.2.83)存在一类全新的反序列化 RCE 漏洞。与过往所有 Fastjson 漏洞不同,本次漏洞的核心突破点在于 「无 Gadget 依赖」——攻击者不再需要项目 Classpath 中存在 xbean、Commons Collections 等第三方类库作为攻击链,仅凭 JDK 原生内置类 + Fastjson 自身解析逻辑即可完成利用。这意味着「删掉第三方依赖」「黑名单过滤危险类」等传统防护手段全部失效,攻击门槛被大幅拉低。所有未开启 SafeMode 的 Fastjson 1.x 对外接口,都应被视为高危攻击面。
漏洞基础信息
本次漏洞尚无官方针对 1.x 的专项补丁,唯一根治手段为迁移至 Fastjson2。核心信息整理如下:
| 项目 | 说明 |
| — | — |
| 漏洞名称 | Fastjson 1.x gadget-free 无第三方依赖反序列化 RCE |
| 风险等级 | 严重 |
| 受影响组件 | 阿里巴巴开源 Fastjson 1.x JSON 解析库 |
| 影响版本 | 1.2.68 ≤ Fastjson 1.x ≤ 1.2.83 |
| 安全基线 | Fastjson 2.x(默认关闭 AutoType,全系无此漏洞) |
| 触发前提 | 未启用 SafeMode 安全模式(AutoType 自动类型识别生效) |
无 Gadget 依赖未授权 RCE仅 JDK 内置类SafeMode 可缓解迁移 Fastjson2 根治
漏洞原理:这次「无条件」更可怕
Fastjson 1.2.68~1.2.83 在未开启 SafeMode 的前提下,反序列化逻辑存在底层缺陷。传统 Fastjson 漏洞大多依赖项目中存在特定第三方 Gadget 链,而本次漏洞 完全不依赖任何第三方类库,仅靠 JDK 原生内置类 + Fastjson 自身解析逻辑即可构造完整攻击链路。
四步攻击链(原理示意)① 发送特制恶意 JSON载荷携带特殊 @type 类型标记② 自动实例化 JDK 危险类触发内部 getter / setter 执行链③ 无外部依赖完成加载字节码加载 + 命令执行逻辑④ 服务端任意代码执行RCE · 完全接管服务器
攻击者只需向对外接口投递一段带 @type的恶意 JSON,即可从解析一路走到服务端代码执行。
关键限制条件
该漏洞 仅攻击未启用 SafeMode 安全模式的 Fastjson 1.x 实例。若提前全局开启 SafeMode,会完全禁用 AutoType 自动类型识别,阻断 @type恶意类实例化流程,可临时缓解风险。
传统防护为何失效:过往针对 Fastjson 的黑名单过滤危险类、移除项目第三方 Gadget 依赖等方案,对本漏洞 无效——攻击链路仅使用 JDK 原生类,删减第三方依赖无法阻断攻击向量,仅靠黑白名单也无法覆盖全部 JDK 内置危险类。
漏洞危害:一个数据包接管服务器
远程未授权攻击者仅需发送恶意 JSON 数据包,无需账号、无需登录、无需额外组件,即可造成一系列严重后果:
- 在目标服务器 执行任意系统命令;
- 读写服务器本地文件;
- 窃取数据库配置、密钥、业务敏感数据;
- 植入木马、后门程序,完全接管服务器权限;
- 以此为跳板,横向渗透内网其他业务服务器。
衍生业务风险:数据泄露(用户隐私、商业机密、接口配置外泄)、业务瘫痪(恶意命令删除程序与数据库)、合规追责(政企 / 金融行业数据泄露面临监管处罚),以及供应链风险——内嵌漏洞版本的第三方 SDK、中间件会将风险批量传导给下游。
资产自查:三步确认是否中招
1. 依赖坐标检索
检索项目 pom.xml/ build.gradle,重点排查以下坐标:
危险依赖(受漏洞影响):
<groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.68 ~ 1.2.83</version>
安全依赖(Fastjson2 无此漏洞):
<groupId>com.alibaba.fastjson2</groupId><artifactId>fastjson2</artifactId>
2. 运行环境核查
- 查看容器 / 服务器
lib目录是否存在fastjson-1.2.xx.jar; - 代码全局检索是否已开启 SafeMode 安全模式;
- 确认对外 HTTP 接口是否直接接收未过滤的外部 JSON 入参(高危攻击入口)。
修复方案:升级为主,缓解为辅
处置分两档:长期根治靠迁移 Fastjson2,短期无法升级时用 SafeMode 临时兜底。SafeMode 只能阻断攻击、无法修复底层解析架构缺陷,不能替代版本迁移。
1.x 与 2.x 安全默认值对比Fastjson 1.xAutoType 默认可被触发无依赖 RCE 攻击面Fastjson 2.x默认关闭 AutoType可控白名单 · 架构重写
Fastjson2 底层安全架构重设计,默认关闭 AutoType,不存在该无依赖 RCE 漏洞。
最优方案:迁移至 Fastjson2(官方推荐根治)
方式 A — 全新 API 迁移(推荐,安全性最高):包名完全隔离为 com.alibaba.fastjson2,可与 1.x 共存。
<dependency><groupId>com.alibaba.fastjson2</groupId><artifactId>fastjson2</artifactId><version>2.0.61</version></dependency>
方式 B — 兼容包平滑过渡(零代码改动):包名复用原有 com.alibaba,直接替换版本号即可。
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>2.0.61</version></dependency>
迁移注意:升级前全量备份代码 / 数据库 / 配置;完成单元测试与集成测试,校验序列化 / 反序列化输出一致;Spring 项目需配套 fastjson2-extension-spring5/spring6适配消息转换器;Kotlin 项目引入 fastjson2-kotlin扩展包。
临时缓解:全局开启 SafeMode
无法立刻升级时,以下三种方式 任选其一全局启用 SafeMode,彻底禁用 AutoType。仅作过渡防护,不替代版本升级根治。
方式 1:代码全局开启(优先级最高)
importcom.alibaba.parser.ParserConfig; public classApplication { public static voidmain(String[] args) { // 全局开启安全模式,禁用所有 @type 自动实例化ParserConfig.getGlobalInstance().setSafeMode(true); SpringApplication.run(Application.class); } }
方式 2:JVM 启动参数开启
启动脚本添加参数,适配容器、Tomcat、SpringBoot Jar 部署:
-Dfastjson.parser.safeMode=true
方式 3:配置文件开启
在项目 classpath 根目录新建 fastjson.properties:
fastjson.parser.safeMode=true
辅助加固(配合 SafeMode 同步实施)
-
接口层入参校验:
所有外部传入 JSON 做格式、字段白名单过滤,拦截携带
@type标记的恶意载荷。 -
最小权限运行:
限制服务器进程权限,降低命令执行后的破坏范围。
-
WAF / 网关规则:
拦截 JSON 内
@type、JDK 危险类关键字。 -
长期备选方案:
评估替换为 Jackson、Gson 等无同类风险的 JSON 解析库。
重要备注:这些坑要提前知道
无 1.x 安全补丁:官方暂未针对 Fastjson 1.x 发布专项补丁,不存在可直接升级的 1.x 安全版本,唯一根治手段为迁移 Fastjson2。
SafeMode 只是止血:它仅临时阻断攻击,无法修复底层解析架构缺陷,长期业务必须完成版本迁移。
强依赖 AutoType 者:若业务强依赖动态类型转换,不建议继续使用 Fastjson 1.x;Fastjson2 支持可控白名单 AutoType,安全性更高。
公网优先修复:所有对外公网接口均为高危攻击面,应优先修复;内网隔离系统可延后排期,但仍需限期升级。
提示:本文所述漏洞信息整理自公开披露渠道,细节与影响范围请以官方安全通告及 Fastjson2 官方文档为准;生产环境处置前请充分测试。
结尾
你的项目里还有多少个还在跑 Fastjson 1.x 的服务?迁移 Fastjson2 时踩过哪些坑?评论区聊聊你的排查与升级经验!
本次 Fastjson 1.x 无依赖 RCE 再次说明:「删依赖 + 黑名单」的旧防护范式,正在被 gadget-free 攻击链彻底击穿。对仍在使用 Fastjson 1.x 的团队来说,摸清资产分布、开启 SafeMode 兜底、限期迁移 Fastjson2,是必须补上的一课。后续我们会持续分享组件供应链安全与 AI 安全的落地实操,欢迎收藏转发!
AGI 安全 · 企业 AI 安全专项培训
针对反序列化漏洞、组件供应链风险、数据泄露与合规漏洞
我们提供完整的企业 AI 安全培训体系,助力企业建立完整的安全防护能力
| | | | — | — | | 大模型安全 | 智能体安全 | | AI 合规审计 | 组件供应链安全 | | 数据安全 | AI 编程工具安全 | | 企业安全体系搭建 | |
如需定制企业内部安全培训、组件风险排查,欢迎扫码咨询
联系人:马老师 | 微信:AICodingC | 公众号:AGI安全
相关参考:
https://x.com/k_firsov/status/2078872293745570032
https://github.com/alibaba/fastjson2
本文仅供安全宣贯与内部传阅整理,处置动作请以官方安全通告为准。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:AGI安全 mmc mmc《突发!Fastjson又出现严重漏洞,可无条件攻击未开启SafeMode模式的组件》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论