突发!Fastjson又出现严重漏洞,可无条件攻击未开启SafeMode模式的组件

admin 2026-07-24 04:24:22 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: Fastjson1.x(1.2.68-1.2.83)被披露存在严重反序列化远程代码执行漏洞,攻击者无需第三方依赖,仅用JDK原生类即可实现无条件攻击。未开启SafeMode的实例面临被远程控制的风险。官方建议迁移至Fastjson2根治,临时缓解措施为全局开启SafeMode。 综合评分: 90 文章分类: 漏洞分析,安全工具,解决方案,安全建设,WEB安全


cover_image

突发!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.xmlbuild.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;&nbsp;public classApplication {&nbsp;public static voidmain(String[] args) {&nbsp;// 全局开启安全模式,禁用所有 @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 同步实施)

  1. 接口层入参校验:

    所有外部传入 JSON 做格式、字段白名单过滤,拦截携带 @type标记的恶意载荷。

  2. 最小权限运行:

    限制服务器进程权限,降低命令执行后的破坏范围。

  3. WAF / 网关规则:

    拦截 JSON 内 @type、JDK 危险类关键字。

  4. 长期备选方案:

    评估替换为 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模式的组件》

评论:0   参与:  0