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

Plugins

Illustration of a gift box unlocking above a rising row of purple cart-value steps, representing a free gift reward unlocked at a WooCommerce cart spending threshold

How to Add a Free Gift When Customers Spend Over a Set Amount in WooCommerce (3 Plugins Compared)

WooCommerce has no native way to reward big carts with a free gift. Three plugins add it: GIFTiT for tiered…

Husen Memon

October 17, 2026

Plugins

Flat illustration of a diagonal timeline with milestone node markers, representing WordPress timeline block plugins

3 Timeline Block Plugins Built for the WordPress Block Editor

Three real timeline block plugins for the WordPress block editor compared: Cool Timeline, Timeline Block by bPlugins, and Advanced Timeline…

Husen Memon

October 16, 2026

News & Updates

Developer working late on a laptop with a glowing file icon on the desk, symbolizing a WordPress plugin file upload vulnerability

Critical Bricksforge Vulnerability Lets Hackers Upload PHP Files to WordPress Sites

A critical, unauthenticated file upload vulnerability in the Bricksforge WordPress plugin is being actively exploited. Patchstack disclosed CVE-2026-85097 on October…

Aftab Memon

October 16, 2026

WhatsApp
Husen Memon
Husen Memon
Typically replies instant