内容提要
Next.js 发布安全更新,修复上游依赖(含 Satori)引发的严重漏洞。16.2.0 至 16.3.6 之前的版本在 Node.js ImageResponse 中可能被远程执行代码,Edge 实现不受影响。建议升级至 16.3.6;15.5.26 仅含加固,15.x 不受该漏洞影响。
延伸解读
受影响范围与版本边界
本次漏洞仅影响 Next.js 16.2.0 至 16.3.6 之前的版本,且限定于 Node.js 运行时下的 ImageResponse 实现。使用 Edge 实现的应用不受影响,15.x 系列也不受该远程代码执行问题影响。因此,升级前应先确认项目是否真正处于受影响区间,避免对不受影响的版本做不必要的紧急变更。
修复方式与依赖链风险
官方通过升级上游依赖(包括 Satori)来修复问题,而非仅修改 Next.js 自身代码。这说明风险来自依赖链中的 SVG 输出转义缺陷,并可能与其他上游依赖的漏洞叠加。对使用 next/og 生成图片的应用而言,及时更新依赖比单独调整业务代码更关键,也提醒团队关注间接依赖的安全状态。
15.5.26 的定位:加固而非修复
15.5.26 被明确标注为仅包含相关加固,并不对应远程代码执行漏洞的修复,因为 15.x 本身不受该问题影响。若项目仍停留在 15.x,升级到 15.5.26 属于预防性加固,而非必须的漏洞修补。团队应根据自身版本线判断优先级,避免把加固版本误当作受影响版本的修复版本。
Q&A
Next.js 这次安全更新修复了什么问题?
修复了上游依赖(包括 Satori)引发的严重漏洞,该漏洞可能导致远程代码执行。
哪些 Next.js 版本受到远程代码执行漏洞的影响?
Next.js 版本 >=16.2.0 且 <16.3.6 受到影响。
Edge 的 ImageResponse 实现是否受此漏洞影响?
不受影响。只有 Node.js 的 ImageResponse 实现受影响。
我应该升级到哪个版本来修复这个漏洞?
建议升级到 16.3.6(Active LTS)。15.5.26 仅包含加固,因为 15.x 不受该远程代码执行漏洞影响。
这个漏洞是如何导致远程代码执行的?
在特定条件下,Satori 生成的 SVG 输出中不正确的转义,结合其他上游依赖的漏洞,可能导致远程代码执行。
Next.js 15.x 是否受这个远程代码执行漏洞影响?
不受影响。15.5.26 版本仅包含相关加固,但 15.x 本身不受该远程代码执行问题影响。