Next.js v16.3.8 是一个明确标注为 critical 的安全更新,涉及多个漏洞。
主要修复
- 图片优化中的服务端请求伪造(SSRF),高危。
- App Router metadata 图片路由的信息泄露,中危。
- 自托管应用的缓存投毒(cache poisoning)风险。
为什么自托管用户要特别注意
缓存投毒这条对 Vercel 托管的影响有限,但自托管场景下风险被放大。很多团队自己搭 Next.js,前面挂 Nginx 或 CDN,缓存配置往往没那么严谨。
如果攻击方能影响缓存键或注入恶意响应,影响面就不是单个用户,而是所有命中该缓存条目的用户。
SSRF 那一条的现实威胁
图片优化功能通常会请求远程 URL。如果参数校验不严,攻击者可以借你的服务器去请求内网地址。
内网里通常有元数据服务、内部管理后台、数据库端口。这类 SSRF 漏洞在云环境里的危害尤其大。
该做什么
第一,尽快升到 16.3.8 或更高。这是最直接的缓解措施。
第二,自托管部署顺带检查缓存配置:确认缓存键包含所有影响响应的因素,确认 Vary 头设置正确,确认不会把用户相关响应写进共享缓存。
第三,如果业务允许,给图片优化的远程地址加白名单,只放行受信任的域名。
第四,检查出网策略。应用服务器默认应该不能访问内网网段,这层防护和补丁是互补关系,不是替代关系。
顺带一提的其他版本动态
同期发布的还有 Docker Compose v5.6.0(新增 jobs 部分支持,目前只管手动触发的任务)、n8n v2.41.6(修复未处理 Promise 拒绝导致任务运行器崩溃)、Tailscale v1.104.0、Redis v8.12-m02-int。
习惯建议
前端框架的安全更新不要拖。这类依赖通常暴露在公网,且升级路径相对可控,拖的收益远小于风险。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。