文章总结: CVE-2026-94545是Next.js的next/og图像API中的严重远程代码执行漏洞,CVSSv4评分9.5,PoC利用代码已公开。攻击者可通过未认证请求在服务器上执行命令,影响Next.js16.2.0至16.3.5及Satori0.0.27至0.33.5之前版本。建议立即升级至Next.js16.3.6和Satori0.33.5,临时措施包括切换Edge运行时或移除sharp,并限制出站流量。
综合评分: 88
文章分类: 漏洞分析,漏洞预警,WEB安全,安全工具
Next.js 远程代码执行漏洞 CVE-2026-94545 的 PoC 利用代码已发布
sec随谈
sec随谈
sec随谈
2026年10月3日 09:20
北京
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
CVE-2026-94545 的技术细节和可用的概念验证(PoC)利用代码现已公开。这是 next/og 图像 API 中的一个严重 Next.js 远程代码执行漏洞,只需一个未经身份验证的请求即可在服务器上执行命令。Next.js 16.3.6 和 Satori 0.33.5 已修复该漏洞。
为何重要
EQSTLab 在其 CVE-2026-94545 的 GitHub 仓库中发布了该漏洞的完整分析文章和利用脚本。其演示在测试容器上打开了一个 root shell。此后,其他研究人员也发布了自己的实验环境工具。
CyCognito 将该漏洞的 CVSS v4 评分定为 9.5。该公司还发现暴露的资产分布于各行各业,其中工业领域占比最高,为 19.7%。目前尚无来源确认存在在野利用。不过,公开的利用代码会大幅缩短防御方的应对时间。
攻击如何实现
next/og 模块用于生成 Open Graph 图像。首先,Satori 将 JSX 转换为 SVG,但它在把用户文本写入该 SVG 时没有进行转义。因此,攻击者可以闭合元素并注入自己的标记。
在安装了 sharp 的 Node.js 运行时上,libvips 和 libxml2 等原生库随后会渲染该 SVG。EQSTLab 发现,精心构造的 XML 实体会破坏该解析器内部的内存。由于官方 Node 二进制文件是非 PIE 的,其地址保持固定。因此,该利用无需泄露地址,在任何使用相同构建的主机上都能生效。
该攻击是盲打式的,并且会使工作进程崩溃。实际中,攻击者会使用反向 shell 来取回输出。
受影响版本
- 使用 Node.js 运行时并安装了 sharp 的 Next.js 16.2.0 至 16.3.5
- Satori 0.0.27 至 0.33.5 之前(不含 0.33.5)
使用 Edge 运行时的路由,或未安装 sharp 的部署,会使用沙箱化的渲染器。在这些情况下,该 Next.js 远程代码执行路径无法达到代码执行。
补丁与缓解措施
立即升级
按照 Vercel 安全公告的建议,升级至 Next.js 16.3.6 和 Satori 0.33.5。
临时措施
- 将 next/og 路由切换到 Edge 运行时,或移除 sharp。
- 不要将原始用户输入直接传入 ImageResponse。
- 限制应用服务器的出站流量,以阻断反向 shell。
最后,应将任何暴露在外且未打补丁的实例视为已被入侵。请轮换应用可读取的密钥,并检查是否存在持久化后门。
参考链接:
https://github.com/vercel/next.js/security/advisories/GHSA-vcvr-r3jv-pc5j
https://github.com/EQSTLab/CVE-2026-94545
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:sec随谈 sec随谈
sec随谈《Next.js 远程代码执行漏洞 CVE-2026-94545 的 PoC 利用代码已发布》