疯了!Fastjson 又爆出严重安全漏洞,Spring Boot 项目赶紧自查

Fastjson 最近又爆出严重安全漏洞

github.com/alibaba/fas...

还是严重 等级,Fastjson 这是修不完的漏洞啊。。Fastjson 是阿里巴巴开源的高性能 Java JSON 序列化/反序列化库 ,广泛用于 Java 对象与 JSON 之间的相互转换。Fastjson 1.x 版本已于 2024 年停止维护,当前最新版本为 2.0.64

这次的问题,主要出在 **Fastjson 的反序列化机制**上。

简单来说,如果项目使用的是默认配置,没有开启 SafeMode ,同时攻击者又能控制传给 Fastjson 的 JSON 数据,就有机会构造一段恶意内容,利用 Fastjson 自己的反序列化逻辑,最终执行任意代码。

比较麻烦的是,这次漏洞和以前不太一样。

以前很多 Fastjson 漏洞都需要依赖某些特定的 gadget 类,所以把这些危险类删掉或者禁掉,还能起到一定的防护作用。

但这次属于 "gadget-free" 的利用方式,也就是说,它不需要依赖这些特定类就能完成攻击。

所以,过去那种靠删除危险类来规避风险的方法,这次基本就不管用了。

受影响版本

条件 说明
fastjson 版本 1.2.68 -- 1.2.83
配置 AutoType OFF + SafeMode OFF(即默认配置)
部署方式 Spring Boot 可执行 fat-jar
JDK 8 / 11 / 17 / 21 均验证
Spring Boot 2.x / 3.x / 4.x 均验证
入口 JSON.parse、JSON.parseObject(String)、JSON.parseObject(String, Class) 均可达

主要影响的是 Spring Boot 可执行 fat-jar 包 部署方式,Spring Boot 项目赶紧自查。。

Fastjson 2.x 默认配置不受影响,fastjson2 从架构层面已经规避了这次漏洞。

Fastjson 2.x 不再通过用户可控的类名进行资源探测,也不会因为 @JSONType 注解绕过类型校验。同时,类型解析采用白名单优先机制,只有明确允许的类型才能通过。

另外,fastjson2 默认关闭 autoTypeSupportAutoType 也已经被废弃并标记了安全风险

修复建议

对于 Fastjson 1.x ,建议优先升级到 1.2.84 ,如果暂时无法升级,也可以启用 SafeMode ,或者切换到 noneautotype 版本。

长期来看,更推荐直接迁移到 fastjson2fastjson2 从架构层面已经规避了这次漏洞,而且默认配置更安全。

fastjson2 也需要注意的是:

  • 不要显式开启已经废弃的 SupportAutoType
  • 如果确实需要 autoType,使用 ContextAutoTypeBeforeHandler 配置严格白名单。

所以,Fastjson 1.x 能升级就升级到 1.2.84,最好迁移 fastjson2,fastjson2 默认不受此次漏洞影响。

庆幸,Spring Boot 默认使用 Jackson 作为 JSON 序列化和反序列化框架,并不依赖 Fastjson,我个人也没有使用 Fastjson,不然会修不完的漏洞。

如果你们 Spring Boot 项目用到了 Fastjson,赶紧自查升级吧。

相关推荐
自进化Agent智能体1 小时前
Hermes CLI 界面详解——命令行交互全攻略
后端
1点东西2 小时前
做了个AI日志平台,零代码接入,嘎嘎好用
后端·aigc·自动化运维
程序员AI工坊2 小时前
Agent 开发:ReAct 循环与工具调用实战——从单次调用到自主 Agent
人工智能·后端·python·langchain·agent·react
不爱说话郭德纲3 小时前
我只给了 TRAE Work 一张差评截图,它最后却把自己的 P0 结论推翻了?
前端·后端·架构
tech讯息3 小时前
企业做视频生成,应该选择哪些云上多模态模型平台,以平衡模型质量、可控性和推理成本?AWS 分层选型路径
后端
潇客3 小时前
前端第一次写 Node 服务:一个请求到底经历了什么?
后端
后除3 小时前
Debian 安装与使用 Certbot
后端·nginx·https
小林敲代码77883 小时前
Spring Boot 3 升级踩坑:aj-captcha 行为验证码底图加载失效
java·spring boot·后端
雪碧5134 小时前
基于afsim的训练多个智能体算法控制(持续关注和收藏后续会同步整个源码包)
后端