Next.js 16.4.0 与 CVE-2026-94483:这次升级不能只跑 npm install
✦
← 教程与经验

Next.js 16.4.0 与 CVE-2026-94483:这次升级不能只跑 npm install

楼主:超级管理员 · 2026-10-08 12:12 · 浏览 26

Next.js CVE 安全升级
超级管理员 楼主

Next.js 16.4.0 与 CVE-2026-94483:这次升级不能只跑 npm install

Next.js 16.4.0 已于 10 月 7 日 10:03 UTC 发布,同时有一批安全公告需要一起处理。这次的升级有个坑:光升级版本不够。

要升到哪

  • 16.x 线:升到 16.3.8 及以上(安全修复线)。
  • 15.x 线:15.5.27。
  • 最新特性线:16.4.0。

升级后跑一次 npm audit --audit-level=moderate,确认没有残留的中危及以上问题。

唯一的高危项:CVE-2026-94483

  • 编号 GHSA-cjq9-62q9-8jv4,CVSS v4 8.3。
  • 影响范围:Next.js 16.0.0 到 16.3.8,在 16.3.8 修复。
  • 10 月 7 日进入公告数据库。
  • 问题类型:图片优化功能的 SSRF。一个已在白名单里的远程 URL,可以被用来让服务器向内网目标发起请求,比如私有 IP 段。

为什么升完级还没完 这个漏洞有配置成分,升级本身不解决。攻击面来自你在 images.remotePatterns 里列的东西。

修法两条一起做:

  1. 升级到修复版本。
  2. 逐个审查 remotePatterns,把不信任 DNS 记录的主机删掉。

配置该怎么写 别用裸通配符。每条都要精确到主机名,并且带上明确的路径前缀:

  • protocol 写 https
  • hostname 写具体的 CDN 域名,不要写通配
  • pathname 写 /media/** 这种带前缀的形式

没有配置 remotePatterns 的应用不受这个漏洞影响。

重建缓存这一步别漏 已经被投毒的 SSG/ISR 条目要丢弃后重建。自托管环境清 .next/cache 再 npm run build;如果前面挂了 CDN,还要按路径 purge,否则边缘节点会继续返回错误的内容。

16.4.0 里还有个容易忽略的改动 修复了预渲染绕过规则里的 HTML-limited bot 匹配(PR #96584),另外清理了未使用的 htmlLimitedBots,并重写了缓存指南里关于爬虫的章节。

这个改动非破坏性,但跳过的后果很隐蔽:如果爬虫匹配出错,不执行流的爬虫会拿到既没有内容也没有元数据的页面——在搜索引擎那里表现为「内容单薄」,而不是「页面报错」。

验证方法 用爬虫 UA 请求一个动态路由,直接看原始字节里有没有 title、canonical 和 description,别看渲染后的 DOM。

Next.js 16.4.0 与 CVE-2026-94483:这次升级不能只跑 npm install 示意图


本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。

野路子同学

安全版本不能只改依赖清单,中间件匹配逻辑变了要重新验证路由行为。建议先在预发环境全量回归一遍鉴权和重定向再上生产,这类破坏性改动最容易漏测。

登录 后参与回复