P.K. SHARMA

Cyber security intelligence, AI governance, practitioner analysis

Next.js fixes two critical RCE flaws; the sharp workaround covers only one

Next.js released 16.4.1 and 15.5.28 on 14 October for three upstream security issues. The two critical code-execution paths and the high-severity denial-of-service flaw have different prerequisites. Updating sharp alone addresses the image path, not the whole release.

By Parminder Kumar Sharma · · 4 min read

AI-generated editorial illustration of layered black-and-white web panels with blue light, labelled Next.js security update.

Three issues, one release, different exposure

Cover: AI-generated editorial illustration for P.K. Sharma. Conceptual artwork, not a screenshot or evidence of an observed attack.

Next.js published its out-of-band security update on 14 October 2026. The supported patched releases are 16.4.1 and 15.5.28. This is coverage of yesterday’s release, checked on 15 October. Vendor announcement.

The useful operational question is whether each vulnerable feature exists in the deployed application, and whether the corrected dependency is actually running. A package change in a developer checkout does not establish either fact. The following table separates the three paths so an image-only workaround is not mistaken for a complete patch.

Vendor prerequisites and fixes. The sharp workaround applies only to the image issue.

IssuePublished prerequisiteFix / workaround
Critical RCE, GHSA-673q-mjm6-r5xrApp Router, Cache Components and a use cache function returning multiple typed arraysNext.js 16.4.1. No known workaround.
Critical RCE, GHSA-2464-fhr4-w9xw / CVE-2026-96889Image optimisation using SVG on glibc-based LinuxNext.js 16.4.1 or 15.5.28; sharp 0.35.5+ is the stated workaround.
High DoS, GHSA-p3m5-59mp-jv5rApp Router with at least one Server ActionNext.js 16.4.1 or 15.5.28. Upgrade required.

Table sources: cache advisory, image advisory and Server Actions advisory.

Feature image: Original typographic editorial cover; not a screenshot or depiction of an observed attack. Credit: P.K. Sharma; facts: Next.js / Vercel.

Cache Components: do not reduce the warning to a code search

The cache advisory lists Next.js 16.0.0 through 16.4.0 as affected and 16.4.1 as patched. It gives a CVSS 4.0 score of 9.5 and describes unauthenticated remote code execution. The stated condition involves multiple typed arrays returned from a cached function. Cache Components advisory.

A search for that pattern can support triage, but it is a weaker closure test than confirming the patched build. Application code can be wrapped by libraries, generated during a build or changed by another team. The vendor explicitly recommends upgrading even without similar functions. Record the search result as an exposure observation, not an exemption from the update.

The image fix includes a dependency check

The image advisory gives sharp 0.35.5 or later as its workaround and says patched Next.js releases cause package managers to provide a fixed sharp version. Its affected platform condition is glibc-based Linux, with SVG in the image-optimisation path. This is not a claim that every uploaded SVG or every operating system is vulnerable. Image optimisation advisory.

For a deployment review, inspect the resolved dependency tree and the artefact deployed to production. An old lockfile, a cached image layer or a running replica from an earlier release can preserve different bytes from those expected. Those are general deployment failure modes; this newsroom has not observed them in a victim of these flaws.

The third flaw blocks request processing

The Server Actions issue can consume CPU and prevent further requests being handled in the same process. Its advisory lists affected 13.0.0–15.5.27 and 16.0.0–16.4.0 ranges, with fixed releases 15.5.28 and 16.4.1. Pages Router applications, and applications without Server Actions, are outside this particular condition. Denial-of-service advisory.

That exclusion applies to this flaw only. It says nothing about an application’s image configuration or other dependencies. Rate and availability monitoring can show that a service is unhealthy, but neither is proof that the corrected request handling has been deployed.

Close the change against running instances

Take this with you

A compact deployment checklist

  • Inventory the Next.js version, router, Cache Components use, Server Actions and image-optimisation runtime for each service.
  • Upgrade to the appropriate supported patched release. Treat the sharp workaround as image-specific, not as a substitute for the whole security update.
  • Check the resolved sharp dependency, rebuild the production artefact and replace old running instances through the normal change process.
  • Smoke-test cached responses, Server Actions and allowed image formats after deployment; watch errors, latency and CPU.
  • Record the deployed version and artefact identity. Escalate suspicious activity for incident triage rather than assuming a patch removes an earlier compromise.

Assessment: the strongest completion evidence is a known patched artefact running across the service, with its important workflows still working. Keep each exposure check attached to its own advisory.

Sources

  1. Primary14 October security update and release instructionsNext.js / Vercelaccessed 2026-10-15
  2. PrimaryGHSA-673q-mjm6-r5xr: Cache Components and typed arraysNext.js / Vercelaccessed 2026-10-15
  3. PrimaryGHSA-2464-fhr4-w9xw: SVG image optimisation RCENext.js / Vercelaccessed 2026-10-15
  4. PrimaryGHSA-p3m5-59mp-jv5r: Server Actions denial of serviceNext.js / Vercelaccessed 2026-10-15

Share this briefing

Know someone who owns this problem? Send it to them.

Related briefings

The briefing, in your inbox

Practitioner analysis of cyber and AI security news. No vendor noise.

How often

Every new briefing in one email, at 7am, or at 7am, 12:30pm and 6pm. Nothing is sent when nothing is new. Unsubscribe any time.