导语:Next.js 于 2026 年 9 月 22 日发布紧急安全更新,修复 next/og 包中 Node.js ImageResponse 的 SVG 注入漏洞 CVE-2026-94545。该漏洞 CVSS 评分为 9.5,攻击者无需认证即可远程利用,在受影响服务器上执行任意代码。

一、事件概述
2026 年 9 月 22 日,Next.js 官方发布带外安全更新,分别推出 Active LTS 16.3.6 与 Maintenance LTS 15.5.26,修复上游依赖 Satori 中的 SVG 转义缺陷。该缺陷可被利用为远程代码执行,编号 CVE-2026-94545,对应 GitHub 安全公告 GHSA-vcvr-r3jv-pc5j。官方在公告中明确表示,受影响的仅是 Node.js 版 ImageResponse,Edge 运行时不受此问题影响。
二、漏洞详情
该漏洞位于 next/og 的 ImageResponse 实现。当应用将攻击者可控制的数据写入 SVG 内容、属性或样式时,上游组件 Satori 在序列化 SVG 时未正确转义,导致注入 payload 逃逸到嵌入式 SVG 文档内部。公告给出的典型场景是:应用从 URL 参数读取 value,并将其写入 ,攻击者即可构造恶意输入,使 标签提前闭合,后续 payload 变成真正的 SVG 元素,最终经过渲染管线落为 PNG 位图返回。
据公开资料,该漏洞根源来自上游 Satori 的 GHSA-wx4j-mvgx-mqwp,Next.js 在 16.3.6 中通过升级相关依赖并强化 buildXMLString() 转义逻辑来修复。攻击路径具备远程、无认证、无需用户交互的特点,CVSS v4 评分达到 9.5。
三、影响范围
影响范围为 Next.js >= 16.2.0 且小于 16.3.6。受影响的部署需同时满足以下条件:使用 Node.js 版 ImageResponse,且将不受信任的输入嵌入 SVG 内容、属性或 CSS 样式。Edge 版 ImageResponse、以及不接收用户输入进行 SVG 渲染的应用,不在影响范围内。
实际影响程度取决于部署环境权限:若图像生成进程可访问密钥、云凭证、内部服务或部署基础设施,攻击者成功利用后可进一步读取敏感数据、篡改内容、中断服务,或以此为跳板横向移动。
四、修复建议
官方建议受影响用户尽快升级:
npm install next@16.3.6 # Next.js 16.x Active LTS
npm install next@15.5.26 # Next.js 15.x Maintenance LTS(仅含加固补丁,15.x 不受 RCE 影响)
若暂时无法升级,应暂停将用户可控数据传入 Node.js ImageResponse 的 SVG 内容、属性及样式。需要特别注意的是,输入校验不能视为长期方案,复杂 SVG 解析行为仍可能产生意外攻击路径。
五、POC 验证
公开 POC 已发布,可用于受控环境下的漏洞验证。该仓库提供 Docker 隔离实验室,对比 16.3.5 与 16.3.6 的行为差异,并通过像素级 PNG 扫描确认注入是否成立。项目明确指出不演示文件读取、SSRF 或代码执行,仅验证 SVG 注入原语。
POC 下载地址:https://github.com/Hassham1/CVE-2026-94545-nextjs-og-poc
版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。














暂无评论内容