Next.js CVE-2026-94545 (CVSS 9.5): ImageResponse Node runtime RCE via attacker-controlled SVG (fix 16.3.6)
Vercel GitHub advisory GHSA-vcvr-r3jv-pc5j (published 22 September 2026; CVE-2026-94545) documents remote code execution in the Node.js ImageResponse implementation from next/og when apps pass attacker-controlled values into SVG content, attributes, or styles during Open Graph / social-preview image generation (upstream Satori path). Vercel rates Critical with CVSS 4.0 9.5 (CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H). Affected: Next.js >=16.2.0 <16.3.6 on the Node.js runtime (default). Not affected per advisory/industry coverage: Edge ImageResponse and Next.js 15. Patched: 16.3.6 (22 Sep). Inventory routes importing ImageResponse from next/og that echo request/URL input into SVG; prefer not placing untrusted input in SVG title/attrs/styles until patched. No in-the-wild exploitation claimed in the 22–23 Sep Vercel/THN materials. Primary: GHSA-vcvr-r3jv-pc5j; wire: The Hacker News 23 Sep 2026.
- Product
- Next.js next/og ImageResponse (Node.js runtime; Satori SVG path)
- Versions
- Affected: Next.js >=16.2.0 and <16.3.6 when ImageResponse runs on Node.js and attacker-controlled values reach SVG content/attributes/styles. Fixed: 16.3.6. Not affected (per advisory/coverage): Edge ImageResponse; Next.js 15.
- CVSS
- (CVSS 4.0 Critical; Vercel GHSA)
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H - Exploited in Australia?
- unknown
- Patch to
- Upgrade Next.js to 16.3.6 or later; inventory ImageResponse/next/og routes that echo request or URL parameters into SVG; avoid attacker-controlled SVG title/attrs/styles until patched; Edge runtime ImageResponse is outside the reported Node path
Primary: Vercel/Next.js — GHSA-vcvr-r3jv-pc5j / CVE-2026-94545 ImageResponse RCE (22 Sep 2026) · Vendor: GitHub Advisory — GHSA-vcvr-r3jv-pc5j · CVE: CVE-2026-94545 · The Hacker News — amplify (23 Sep 2026)
