Next.js 发了安全版本,16.3.8 或 15.5.27 二选一往上升。一共修了 7 个安全问题:1 个高危、5 个中危、1 个低危。原来计划修 9 个,其中 1 个严重和 1 个高危被推迟了。
最严重的那个:CVE-2026-94483
- 高危,图片优化功能里的 SSRF(服务端请求伪造)。
- 触发条件:你用了 images.remotePatterns 加载远程图片。
- 后果:攻击者能让你的服务器去请求内网地址。
SSRF 在这里是怎么发生的 图片优化器的工作方式是:收到一个图片 URL,服务端去把它取回来,处理后返回。如果攻击者能控制这个 URL,服务端就变成了一个代理。内网的服务、云厂商的元数据接口(169.254.169.254 那类)、不该对外暴露的管理端口,都可能被它摸到。
为什么 remotePatterns 是关键 这个配置本来是白名单,用来限制允许加载哪些外部域名。但 CVE 说明这个限制在某个环节被绕过了。所以判定标准很明确:配了 remotePatterns 才算暴露面,没配的站点不受这条影响。
该怎么处理
- 先看自己的 next.config 里有没有 images.remotePatterns,有就优先升。
- 升到 16.3.8(16 系)或 15.5.27(15 系)。注意这两个是并行的维护线,挑你所在的线升。
- 别只升 Next.js——这次是框架层的问题,但你的部署架构有没有对出网做限制才是根本。给应用容器配出网白名单,就算有 SSRF 也摸不到内网。
- 关注被推迟的那两个,一个是严重级。既然已经公开说推迟了,后续大概率还会发版本。
顺带看一眼同期的其他前端更新
- Remix 3:RC 已出,正式版计划 10 月 2 日。
- Preact 11:纯 ESM,带 Hydration 2.0 支持流式 SSR。
- SvelteKit 3:10 月 1 日发布,Node 底线提到 22.17,绑定 TypeScript 6、Svelte 5.57.1、Vite 8.0.12。配置从 svelte.config.js 并进 vite.config.ts 的 sveltekit() 插件,$lib 别名改成 Node 原生的子路径导入 #lib。官方给了 npx sv migrate sveltekit-3 自动迁移。
SvelteKit 3 有个点要注意:Remote functions(端到端类型安全的全栈通信)依然是 experimental,没跟着大版本转正,要用得先开 Async Svelte 的实验开关。
我的判断:框架级的安全补丁别拖,但更该做的是给应用加一层出网管控。框架永远会有下一个 CVE,网络层的边界不会。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。