内容提要
Next.js 发布安全更新 v16.3.8 和 v15.5.27,修复多个漏洞:图像优化中的服务端请求伪造(高危)、自托管 SSG/ISR 页面缓存投毒、根级 catch-all 页面缓存投毒、App Router 元数据图像路由信息泄露、嵌套 use cache 缓存键错误导致跨根参数泄露、Draft Mode 内容经 use cache 泄露至普通响应,以及开发服务器 MCP 端点信息泄露。建议尽快升级。
延伸解读
漏洞影响范围与条件
本次修复的漏洞并非影响所有 Next.js 应用。图像优化 SSRF 仅在配置了 images.remotePatterns 时可能被利用;自托管 SSG/ISR 缓存投毒只影响使用 Pages Router 的自托管应用,Vercel 部署不受影响;元数据图像路由信息泄露仅出现在使用 webpack 构建的 App Router 应用中,Turbopack 构建不受影响。开发服务器 MCP 端点信息泄露仅影响 next dev 环境,生产部署不提供该端点。
缓存相关漏洞的严重性
多个中危漏洞与缓存机制相关,可能造成跨用户内容替换或持久性拒绝服务。例如,根级 catch-all 页面与 SSG/ISR 路由共用缓存时,单个未认证请求即可污染共享缓存;嵌套 use cache 函数可能因缓存键遗漏根参数而泄露其他参数的内容;Draft Mode 内容可能通过待填充的 use cache 泄露到普通响应,甚至被持久化到预渲染页面。这些漏洞凸显了缓存键设计和请求隔离的重要性。
升级建议与版本选择
官方建议尽快升级至 v16.3.8(Active LTS)或 v15.5.27(Maintenance LTS)。使用 15.5 版本的应用应安装 next@15.5.27,使用 16.3 版本的应用应安装 next@16.3.8。升级前请确认当前版本分支,并检查是否启用了受影响的特性(如 images.remotePatterns、Cache Components、Draft Mode 等),以评估风险并安排升级窗口。
Q&A
Next.js 2026年9月安全版本发布了哪些版本?
发布了 v16.3.8(Active LTS)和 v15.5.27(Maintenance LTS)。
Next.js 图像优化中的高危漏洞是什么?
服务端请求伪造(SSRF),攻击者可通过允许列表中的远程 URL 访问私有 IP 范围。如果未配置 images.remotePatterns,则不受影响。
自托管 Next.js 应用的 SSG/ISR 页面缓存投毒漏洞影响哪些部署?
影响自托管且使用 Pages Router 的 SSG 或 ISR 页面的应用,Vercel 部署不受影响。
Next.js App Router 元数据图像路由的信息泄露漏洞在什么条件下触发?
使用 webpack 构建的 App Router 应用中,opengraph-image 和 twitter-image 等元数据图像路由忽略 dynamicParams 选项,攻击者可请求被 generateStaticParams() 排除的动态段。使用 Turbopack 构建的应用不受影响。
嵌套 use cache 函数中的缓存键错误会导致什么问题?
当启用 Cache Components 时,嵌套的 use cache 函数若读取根参数,外层函数的缓存键会遗漏该根参数,导致为一个根参数值生成的内容可能被提供给另一个值,无论页面是预渲染还是动态渲染。泄露的值不受攻击者控制。
开发服务器的 MCP 端点信息泄露漏洞影响生产环境吗?
不影响。只有使用 next dev 运行的应用受影响,生产部署不提供该端点。