网易首页 > 网易号 > 正文 申请入驻

FastJson漏洞致Spring Boot全中招,在野攻击已出现

0
分享至

7月19日,安全研究员Kirill Firsov在推特上发了一条消息:他在Fastjson 1.2.83里发现了一个不需要gadget的RCE漏洞,附带了一段演示,一条payload打过去,直接拿到shell。

这块影响较大,1.2.83是Fastjson 1.x的最后一个版本,很多人当年都是特意升到这个版本的,升完就觉得这块不用再管了。

7月21日,阿里官方发布了安全公告,编号CVE-2026-16723,CVSS评分9.0,绿盟那边给的是9.8。我把官方公告、研究者的技术文档和几家安全厂商的报告都翻了一遍,这篇文章把事情的经过、影响范围和处理办法说清楚,还在用Fastjson 1.x的建议看完就去查一下。


这个漏洞和以前的Fastjson漏洞不一样

干Java的这些年,Fastjson的漏洞消息差不多每年都能看到。以前那些反序列化漏洞,利用起来基本都有前提:要么目标开了AutoType,要么classpath里得有能用的gadget类。所以这些年大家总结出来的防御经验就是两条:关掉AutoType,再把危险的依赖从项目里清出去。很多团队做完这两件事,就觉得Fastjson这块稳了。

但这次的漏洞不走这条路,问题出在Fastjson做类型解析时的资源探测逻辑上:它遇到不认识的类型名,会试着把这个名字当成类路径资源去加载一次,看看这个类上有没有@JSONType注解,有的话就当它是可信的。

攻击者构造的@type值经过Fastjson内部的字符替换之后,可以拼出一个指向远程服务器的地址,让应用自己去把攻击者的恶意类下载下来并加载。整个过程发生在正常的类型检查之前,所以关不关AutoType根本不影响,classpath里有什么也没有什么区别。

还有一点我觉得有必要单独说:

很多人现在的写法是 JSON.parseObject(body, 某个Dto.class) ,指定了目标类,觉得这样攻击者就没法随便指定类型了。官方公告里明确写了,这种写法挡不住,因为恶意内容可以藏在DTO里 Object 或者 Map 类型的字段里,照样能走到解析逻辑。也就是说,单纯代码写得规范,并不等于安全。
中招需要满足什么条件

这个漏洞虽然评分高,但触发条件比较明确,一条一条对着查,就能知道自己的服务在不在范围里:

条件

Fastjson版本

官方CVE记录是1.2.68到1.2.83,腾讯云的通告里写的是1.2.37到1.2.83,几家给的范围不完全一样,建议按最宽的查

部署方式

必须是Spring Boot的可执行fat-JAR,用java -jar跑起来的那种。打war包部署到外部Tomcat的不受影响

SafeMode

没开(默认就是没开)

出网

服务器能访问外部HTTP,攻击者需要让目标下载远程的恶意JAR

入口

存在把外部传入的JSON交给Fastjson解析的接口,公网接口、回调、内网服务间调用都算

为什么偏偏是Spring Boot的fat-JAR,研究文档里解释得很清楚:fat-JAR用的是LaunchedURLClassLoader,它加载嵌套JAR的机制会把那种构造出来的远程地址真的解析成一次网络请求。普通方式跑的应用,同样的名字只会被当成本地路径,找不到就返回,链条走不下去。



JDK版本影响的是攻击效果,JDK 8下面一步到位,直接执行代码;JDK 9及以上因为类名校验更严,攻击者要分两步走,先把恶意JAR骗下载到本地,再引用下载下来的文件完成加载,研究者在8、11、17、21上都验证通过了,Windows上高版本JDK的两阶段打法走不通。

攻击已经在发生了

安全厂商Imperva在7月24日的报告里说,他们已经观测到针对这个漏洞的真实攻击,目标主要是美国的机构,新加坡和加拿大也有,涉及金融、医疗、IT、零售这些行业,金融占了28%,医疗占了22.9%。国内的微步在线(ThreatBook)也发了在野利用的告警。


PoC也已经公开了,GitHub上有人放出了完整的靶场和检测规则,在JDK 8、17、21、25上都复现成功。传播到国内只是时间问题,处理窗口其实就这么几天。

现在该做什么

先说一个坏消息:Fastjson 1.x的仓库在2024年10月就归档成只读了,官方不会再为1.x出修复版本,这次没有"等下个版本升级一下"这个选项,想等着官方修订版本然后不用改项目代码的兄弟可以打消这个想法了。


按轻重缓急,我建议这么处理:

排查

把公司所有Java服务过一遍,找出直接或者间接依赖Fastjson 1.x的,尤其注意间接依赖,很多老框架和内部SDK里会带,Spring Boot fat-JAR部署的优先处理。

止血

短期最有效的办法是开SafeMode,JVM参数加-Dfastjson.parser.safeMode=true,或者代码里ParserConfig.getGlobalInstance.setSafeMode(true),它能直接掐断这条攻击链。

如果担心影响业务,可以先在测试环境验证。还有一个选择是换成1.2.83_noneautotype这个特殊版本,它在编译期就把AutoType相关的代码剔掉了。

限出网

应用服务器本来就不该随便访问外部HTTP,趁这个机会把出站策略收紧,就算漏了什么,攻击者也下载不了东西。

迁移

上面这些都只是止血,长期的答案只有一个:迁到Fastjson2,2.x的架构重写过,不受这个漏洞影响。迁移成本肯定有,API有变化,还有一些行为差异要测,但这次之后还留在1.x,就是等着下一次。

最后说两句

Fastjson 1.x这几年出的每个漏洞,社区的应对都是"升级到最新版加关掉AutoType",这套办法让很多人对它产生了一种虚假的安全感,觉得1.2.83是个可以长期呆着的养老版本。

这次漏洞最麻烦的地方就在于它把这套经验整个作废了:默认配置就能触发,fat-JAR又恰恰是最主流的部署方式,受影响的入口也是大家天天在用的那几个解析方法。

说实话Fastjson也挺让人感慨的,性能确实好,当年确实是国产开源的骄傲,但1.x的设计包袱太重了,反序列化这块补了这么多年还是补不干净。仓库归档之后它就是个不会再更新的存量风险,这次只是正好爆出来而已。

如果你的团队还在用1.x,我的建议很简单:这周先把SafeMode开了,然后把迁移Fastjson2排进日程,别再往后拖了。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
泰山陪爬变陪“睡”?贴身搂抱、明码标价变味儿,这山爬得太辣眼

泰山陪爬变陪“睡”?贴身搂抱、明码标价变味儿,这山爬得太辣眼

凉了时光人
2026-07-28 19:30:08
用了3天筋膜枪,男子突发脑梗昏迷!紧急提醒:这几个部位绝不能打

用了3天筋膜枪,男子突发脑梗昏迷!紧急提醒:这几个部位绝不能打

环球网资讯
2026-07-30 19:19:17
三所里,38军为何能先敌5分钟到达?梁兴初:只因师长1个大胆决定

三所里,38军为何能先敌5分钟到达?梁兴初:只因师长1个大胆决定

芊芊子吟
2026-07-30 16:30:07
“滚回你的国家!”新西兰外长“怒喷”华人议员!“英语都说不好!”NZ总理公开谴责!中国驻新西兰大使回应!

“滚回你的国家!”新西兰外长“怒喷”华人议员!“英语都说不好!”NZ总理公开谴责!中国驻新西兰大使回应!

新西兰天维网
2026-07-30 13:10:54
陈蒲20万天价罚单:泰山队礼仪立威,不过是病急乱投医的自我安慰

陈蒲20万天价罚单:泰山队礼仪立威,不过是病急乱投医的自我安慰

姜大叔侃球
2026-07-30 20:56:25
陪玩陪睡仅皮毛!又一女星深夜爆猛料,4女共侍1夫,61岁也不放过

陪玩陪睡仅皮毛!又一女星深夜爆猛料,4女共侍1夫,61岁也不放过

今日观众
2026-07-29 21:29:27
为何王虹的报道铺天盖地,邓煜却无人问津?

为何王虹的报道铺天盖地,邓煜却无人问津?

亚哥谈古论今
2026-07-30 22:45:29
詹姆斯加盟76人引爆费城:票价飙升、一座城市重燃43年的冠军梦

詹姆斯加盟76人引爆费城:票价飙升、一座城市重燃43年的冠军梦

星耀国际足坛
2026-07-30 23:25:27
赔800万裁掉你!波波维奇5年给联盟上了残忍一课

赔800万裁掉你!波波维奇5年给联盟上了残忍一课

砚底沉香
2026-07-30 14:45:56
离岸人民币兑美元触及2023年2月来盘中新高

离岸人民币兑美元触及2023年2月来盘中新高

每日经济新闻
2026-07-30 17:52:11
安切洛蒂确认:内马尔、卡塞米罗、达尼洛不会再代表巴西出战

安切洛蒂确认:内马尔、卡塞米罗、达尼洛不会再代表巴西出战

懂球帝
2026-07-30 19:40:08
研究显示:AI聊天机器人实施情感诈骗的能力已超越人类

研究显示:AI聊天机器人实施情感诈骗的能力已超越人类

IT之家
2026-07-30 20:34:43
网传北京一家大型设计院,一年没发工资员工依旧每天按时上下班,没人掀桌子!

网传北京一家大型设计院,一年没发工资员工依旧每天按时上下班,没人掀桌子!

黯泉
2026-07-30 18:19:04
敬一丹丈夫发文后的沉默背后

敬一丹丈夫发文后的沉默背后

小椰的奶奶
2026-07-29 11:00:31
广东男篮三大重磅消息:奎因续约,徐杰冲击顶薪,周鹏新职务敲定

广东男篮三大重磅消息:奎因续约,徐杰冲击顶薪,周鹏新职务敲定

锐评利物浦
2026-07-30 11:30:33
记者:托纳利、戈登离队是埃迪-豪决定辞职的原因之一

记者:托纳利、戈登离队是埃迪-豪决定辞职的原因之一

懂球帝
2026-07-30 16:30:31
伊朗一枚导弹钻入5号兵营!千米营区毁于一旦,美军伤亡成谜!

伊朗一枚导弹钻入5号兵营!千米营区毁于一旦,美军伤亡成谜!

丁丁鲤史纪
2026-07-30 08:24:38
1死2伤!重庆一工地发生塔吊事故

1死2伤!重庆一工地发生塔吊事故

新浪财经
2026-07-30 12:49:59
寒武纪将给员工发钱:人均160万元,85%的员工都有;官宣离职不到48小时,翁荔重返OpenAI;扎克伯格反对美国封禁中国AI | 极客头条

寒武纪将给员工发钱:人均160万元,85%的员工都有;官宣离职不到48小时,翁荔重返OpenAI;扎克伯格反对美国封禁中国AI | 极客头条

CSDN
2026-07-30 10:26:19
11岁嫁给了表哥,因长相漂亮被印在了人民币上面,90岁了才知晓

11岁嫁给了表哥,因长相漂亮被印在了人民币上面,90岁了才知晓

云霄纪史观
2026-07-28 13:52:12
2026-07-30 23:43:00
侃故事的阿庆
侃故事的阿庆
几分钟看完一部影视剧,诙谐幽默的娓娓道来
842文章数 9067关注度
往期回顾 全部

科技要闻

小米澎程N90 Max预售价29.99万

头条要闻

陕西"公公强奸儿媳案"维持原判 女方精神鉴定结果公布

头条要闻

陕西"公公强奸儿媳案"维持原判 女方精神鉴定结果公布

体育要闻

曝皇马将签罗德里!转会费6000万签约4年

娱乐要闻

周星驰用态度打破快餐式宣发

财经要闻

中共中央政治局:提升资本市场韧性和信心

汽车要闻

小米的SUV空间玩法多 小米澎程N70/N90预售价25.99万/29.99万

态度原创

健康
亲子
教育
游戏
时尚

最近总忘事,我是要中风了吗?

亲子要闻

你们知道叶子变异后会变什么颜色吗?

教育要闻

有没有想过不是海外硕水,而是国内硕不合理?

杰洛特演员晒录音照!《巫师3》新DLC引爆期待

夏天穿衣别太纠结,用T恤搭配黑色半身裙,得体耐看又有气质

无障碍浏览 进入关怀版