ConicPlex

Start Your Project

Laptop glowing with an abstract geometric pattern on a dark desk beside scattered photographs, symbolizing a Next.js image-processing security flaw

On this Page

Next.js Ships an Emergency Security Update for Two Critical RCE Flaws

Next.js patched two critical remote code execution flaws and a denial-of-service bug on October 14, 2026. Here is what is affected in the use cache caching layer and SVG image processing, and how to patch it.

Sajil Memon

October 17, 2026

Next.js shipped an out-of-band security update on October 14, 2026, fixing two critical remote code execution flaws and one high-severity denial-of-service bug. Both RCE issues hit App Router applications, one through the use cache caching layer in Next.js 16.0.0 through 16.4.0, the other through SVG image processing going back to 10.0.0. Vercel rated both 9.5 on CVSS. Nothing points to active exploitation as of this writing, but the fix is already out: Next.js 16.4.1 for the 16.x line and 15.5.28 for 15.x.

The use cache RCE has no workaround

The more serious of the two is tracked as GHSA-673q-mjm6-r5xr. It affects App Router apps that have Cache Components turned on. If a use cache function returns more than one typed array, an attacker-controlled value can trigger remote code execution. The root cause actually sits upstream in React itself, in the react-server-dom-webpack, react-server-dom-parcel, and react-server-dom-turbopack packages, which is why React published its own advisory alongside Next.js’s.

There’s no mitigation for this one short of upgrading. Vercel’s own write-up says to patch even if your app doesn’t obviously use a function shaped like that, since the trigger condition is narrow but not something you can easily audit for by hand.

The SVG flaw traces back to a memory bug in sharp

The second RCE, CVE-2026-96889 (GHSA-2464-fhr4-w9xw), comes from a memory corruption bug in librsvg, reached through the sharp image library that Next.js’s Image Optimization API uses under the hood. On glibc-based Linux, an attacker-supplied SVG can trigger code execution during image processing. It only bites if SVG handling is turned on through the dangerouslyAllowSVG setting, or if an app uses next/og on the Node.js runtime, which had its own ImageResponse RCE patched back in September. That earlier fix and this one trace to the same underlying librsvg issue, just reached through a different code path.

The fix bumps the bundled sharp dependency to 0.35.5, which pulls in a patched librsvg. If you can’t upgrade Next.js right away, bumping sharp on its own to 0.35.5 or later closes the hole, or you can disable SVG loading entirely with sharp.block({ operation: ["VipsForeignLoadSvg"] }).

A quieter DoS bug rides along

The update also patches GHSA-p3m5-59mp-jv5r, a high-severity denial-of-service flaw in App Router apps using Server Actions. A crafted request can push a server process to full CPU usage, blocking other requests on that process until it recovers. Pages Router apps and anything without a Server Action aren’t affected. Worth flagging separately: this bug and the use cache RCE never got CVE numbers, so they won’t show up in the npm advisory feed and npm audit will miss them entirely. Version-checking your own Next.js dependency is the only way to catch it.

What to actually do about it

  • On Next.js 16.x, run npm install [email protected] and redeploy.
  • On Next.js 15.x, run npm install [email protected], then run npm ls sharp to confirm it pulled 0.35.5 or newer. The 15.x line will still silently accept an older, vulnerable sharp if it’s already pinned elsewhere in your lockfile.
  • If you can’t patch immediately, at minimum upgrade sharp on its own, since none of the three fixes have a workaround that doesn’t involve touching dependencies.

This is the third image-processing code execution bug traced back to Next.js’s image pipeline since August. For teams running client-facing Next.js apps without a dedicated person tracking framework CVEs, that pattern is exactly the kind of thing a periodic Web Application Development audit is meant to catch before it turns into an incident.

Sources

Sajil Memon is a co-founder of ConicPlex and a Senior Full Stack Developer focused on backend work: Node.js, PHP, APIs, and the infrastructure decisions that determine whether a system holds up under real traffic. He’s spent years on the side of a project that doesn’t get demoed, the part that has to keep working after launch. He writes here about the technical tradeoffs in backend architecture, deployment, and data handling that only become obvious once something breaks in production.

Leave a Reply

Your email address will not be published. Required fields are marked *

Keep reading

News & Updates

Node.js Patches 16 Flaws in Its November Release, Including a TLS Private-Key Leak

The Node.js project shipped its November 2026 security release on November 11, fixing 16 vulnerabilities across the 22.x, 24.x, and…

Sajil Memon

November 12, 2026

Plugins

How to Show a Price per Unit in WooCommerce (4 Plugins Compared)

If you sell anything priced by weight or volume, groceries, cosmetics, hardware, paint, bulk foods, showing a price per unit…

Sajil Memon

November 12, 2026

Platforms

What Webflow’s New Source Workspace Means for Agency Client Handoffs

What Webflow’s new Source workspace actually offers agencies handling client handoffs, and what still depends on CMS structure instead of…

Moin Memon

November 11, 2026

WhatsApp
Husen Memon
Husen Memon
Typically replies instant