明天,8月26日,Next.js 官方要发一版提前预告过的安全补丁:16.3.3 和 15.5.24,修的是一个 Critical 级漏洞,完整公告(影响范围、受影响版本、升级步骤)会随版本一起公开。官方的原话是:建议补丁一发布就升级。Next.js官方博客
如果你手上有 Next.js 项目在跑,今天这篇值得花三分钟看完。
这不是临时救火,Next.js 已经进入「按月打补丁」时代
先看背景,这决定你怎么安排升级节奏。
去年12月,React 和 Next.js 出过一次大事:React2Shell(CVE-2025-55182 / CVE-2025-66478),RSC 协议里的未授权远程代码执行,最要命的是——用 create-next-app 建出来的、没改过一行代码的标准项目,默认配置就能被打。React官方博客当时翻译到国内的那篇《React 和 Next.js 中的关键漏洞》里引用过一个数据:约39%的云环境里存在易受攻击的实例。TechUG

大概是被打疼了,也可能确实是漏洞挖掘的形势变了——Next.js 官方博客提到,LLM 辅助的漏洞发现正在爆发,Mozilla 最近披露单个 Firefox 版本里由 Anthropic 模型挖出的问题就有271个——Vercel 在今年7月正式把安全发布做成了固定机制:大约每月一次,提前在博客预告补丁日和最高严重级别,给团队留出排期;真遇到在野利用,才走临时紧急发布。Next.js官方博客
7月21日是第一次「预告制」补丁日,一口气修了9个CVE:4个高危、5个中危。我对着官方公告把这9个漏洞逐条映射到了具体部署方式上——这才是和你直接相关的部分。
7月那9个CVE,逐个对号入座
先说4个高危(已在 16.2.11 / 15.5.21 修复):
① 用了 Server Actions,就能被打了 CPU 拒绝服务(CVE-2026-64641)。只要你的 App Router 项目里有一个 Server Action,构造请求就能把进程 CPU 打满,同进程的后续请求全部卡死。这个打击面非常广,‘use server’ 现在几乎是标配写法。
② 最隐蔽的一个:Turbopack 构建 + 单语言配置,中间件直接被绕过(CVE-2026-64642)。如果你的 config.i18n.locales 里只有一个语言(很多站就是单语言,甚至只是随手写了个默认值),又是 Turbopack 构建,那么中间件里的鉴权、安全检查可以被整体绕过。Next.js官方博客等于门锁还在,但门框没了。Next.js 16 里 Turbopack 已是默认构建器,这条值得重点自查。
③ rewrites/redirects 的目标域名如果拼自请求参数,可被指向任意主机(CVE-2026-64645),rewrite 场景是 SSRF,redirect 场景是开放重定向。自己写过 `rewrites()` 规则、并且目标地址带动态拼接的,逐条去查。
④ 自定义 server 上,Server Action 转发/重定向可被诱导请求恶意主机(CVE-2026-64649),同样是 SSRF。自己用 Express 之类包了一层 custom server 的老项目注意。
5个中危也简单过一遍:图片优化 API 传恶意 SVG 可打 CPU(仅自托管且开启远程图片优化时);Edge runtime 上 Server Action 载荷无上限可耗内存;Server Function 的端点 ID 可被未授权枚举(本身不致命,但能给攻击链做侦察);另有两个服务端带 body 的 fetch 缓存错乱问题,可能把 A 请求的响应返回给 B。Next.js官方博客
按部署方式自查,你到底急不急
Vercel 全托管用户:官方会协调平台侧缓解(比如防火墙规则),但框架版本升级依然要你自己改依赖、重新部署,别当甩手掌柜。
自托管用户(Docker / 自建 Node):9个CVE条条和你相关,优先级最高。尤其 ① 和 ②,一个打可用性,一个绕鉴权,都是直接损失。
自定义 server 用户:④ 是为你量身定做的,升级之外顺便审一下转发逻辑。
Pages Router 老项目:RSC 系列漏洞不影响 Pages Router,可以松半口气,但别停在太老的版本上——去年12月那轮的修复线下限是 14.2.35。Next.js官方博客
还停在 14.x / 15.x 的:官方目前维护两条线——15.5 是维护期 LTS(今天的最新 backport 是 15.5.23),14.x 停在 14.2.35。短期升不上 16 的,至少把当前大版本线内的最新补丁打上。

明天补丁日,建议按这个顺序做
盯官方渠道:nextjs.org/blog 和 GitHub Security Advisories,公告会写明受影响版本和升级指令;
确认自己在哪条版本线:16.3.x 升到 16.3.3,15.5.x 等 15.5.24;
升级后重新部署——尤其自托管,镜像不重建等于没修;
回归一遍关键路径:登录鉴权、带请求体的接口、重定向逻辑(这次修的坑就藏在这几处);
老版本拿不准的,可以跑一下官方在12月那轮给的交互工具 `npx fix-react2shell-next`,它会按版本线给出确定性的升级目标。Next.js官方博客

最后说句判断
AI 把漏洞挖掘的速度卷起来了,框架方把补丁做成月度预告制,其实是个好信号:漏洞不可怕,可怕的是你的认知还停留在「Next.js 一年爆一次雷」的旧印象里,连补丁节奏变了都不知道。
接下来值得持续观察的信号:9月的补丁日是否如期、Critical 公告里受影响的版本范围(明天更新后我会跟进)、以及 16.4 canary 里有没有随之而来的行为变更。
你手头的 Next.js 项目现在停在哪个版本?评论区报个数,看看多少人还挂在有洞的版本上。