In this guide · 7 sections
- 01What happened: the October 2026 Next.js security update
- 02Affected and fixed Next.js versions
- 03How to check which Next.js version your site runs
- 04Hosted on Vercel vs self-hosted: does it change anything?
- 05When to rebuild, and signs the site was already attacked
- 06Do it yourself or get help?
- 07Frequently asked questions
Short answer
Every Next.js version from 10.x up to 15.5.27, and 16.x before 16.4.1, is affected. Upgrade to 15.5.28 (for 15.x and older) or 16.4.1 (for 16.x), then rebuild and redeploy the site. If you do not know your version, ask your developer to check package.json today.
What happened: the October 2026 Next.js security update
Next.js is a popular framework that developers use to build websites and web apps with React. On 8 October 2026 the Next.js team gave advance notice of an out-of-band security release, and on 14 October it published the fixes in its security update post. Two of the fixes had been held back from the September 2026 release because of delays in upstream libraries.
On 20 October 2026, the Cyber Security Agency of Singapore issued the alert Critical Vulnerabilities in Next.js, rating both critical flaws at 9.5 out of 10 (CVSS v4.0) and advising users to update immediately.
| Flaw | Severity | Who is affected |
|---|---|---|
| Remote code execution in "use cache" functions returning typed arrays (GHSA-673q-mjm6-r5xr) | Critical | Apps using App Router with Cache Components; no workaround |
| Remote code execution in the Image Optimization API with SVG (CVE-2026-96889) | Critical | Next.js running on glibc-based Linux (for example Ubuntu or Debian servers and most Docker images) |
| Denial of service via Server Actions (GHSA-p3m5-59mp-jv5r) | High | App Router apps with at least one Server Action; Pages Router apps are not affected |
Remote code execution means an attacker on the internet, without logging in, could run their own commands on the server that hosts your site. That can lead to defaced pages, stolen customer data, malware served to visitors or the server being used to attack others.
Affected and fixed Next.js versions
CSA's alert lists the affected versions as 16.x before 16.4.1 and 10.x to 15.x before 15.5.28. The Next.js team says the fixes are in 16.4.1 (the Active LTS line) and 15.5.28 (the Maintenance LTS line).
| Your site runs | Status | Upgrade to |
|---|---|---|
| 16.0 to 16.4.0 | Affected | 16.4.1 or later |
| 15.x before 15.5.28 | Affected | 15.5.28 or later |
| 14.x, 13.x or older (back to 10.x) | Affected, and out of support | 15.5.28 (or 16.4.1); expect some code changes |
| 16.4.1+ or 15.5.28+ | Fixed | Nothing for this issue |
The Next.js support policy lists only 16.x and 15.x as supported. Versions 14 and earlier get no patch of their own, so a site on 13 or 14 has to jump at least to 15.5.28. That is a bigger job than a patch, which is why older sites take longer to fix.
How to check which Next.js version your site runs
You do not need to read code to get the answer. Ask whoever built or looks after the site, or follow these steps if you have access to the code repository.
Ask your developer for the exact version
Send one written question: "Which Next.js version is our site on in production, and is it 15.5.28 / 16.4.1 or later?" A good developer answers the same day.
Or look in package.json
In the project's code (for example on GitHub), open package.json and find the line for "next". The number next to it is the version range; the lockfile (package-lock.json, pnpm-lock.yaml or yarn.lock) shows the exact version installed.
Check what is actually deployed
The code in the repository and the site that is live can differ. Ask for the date of the last production deploy and confirm it happened after the upgrade.
Check other apps too
Internal dashboards, booking portals and staff tools are often built on Next.js as well. List every app your business runs, not only the main website.
If nobody can answer, that is a finding in itself: someone needs ownership of the site's code and hosting. Our website maintenance checklist covers what a maintenance arrangement should include.
Hosted on Vercel vs self-hosted: does it change anything?
Where the site runs affects how exposed it is, but not whether it needs patching. The Next.js team says its scheduled security releases let it work with hosting providers to deploy mitigations such as firewall rules for apps that are not yet patched (security release programme). Those mitigations are a stopgap, not a fix.
Managed platform (Vercel, Netlify and similar)
- The platform may block known attack patterns at its edge while you upgrade
- Redeploying after the upgrade is usually one push to the main branch
- Server software below Next.js is the platform's job
Self-hosted (VPS, Docker, your own server)
- The image flaw applies when Next.js runs on glibc-based Linux, which covers most VPS and Docker setups
- Nobody else filters traffic for you unless you put a WAF in front
- You also need to rebuild the Docker image so the fixed sharp library is included
If your app was put together quickly with an AI coding tool and nobody maintains it, read our guide to vibe-coded apps and their business risks: unmaintained apps are the ones that stay on vulnerable versions for months.
When to rebuild, and signs the site was already attacked
Updating the version number in the code does nothing until the site is rebuilt and redeployed. Ask your developer to upgrade, run the build and tests, deploy to production and confirm the live version. On a well-kept project this is a small job; on a site that has not been touched for a year, dependency upgrades can take a few days.
Patch checklist for this update
Warning signs include unknown files or processes on the server, new admin users, outbound traffic you cannot explain, or pages that redirect visitors elsewhere. If you see any of these, treat it as an incident and follow our hacked website guide before simply patching, because patching does not remove an attacker who is already in.
Do it yourself or get help?
If you have a developer on retainer, send them the CSA alert and the version table above and ask for written confirmation of the deployed version. If the site was built by someone who has moved on, you need a developer who can upgrade the code, rebuild it and check the server.
IT Sorted is a Singapore-based team of developers with over 10 years of experience. Website Security Hardening (S$290) covers updates, firewall and backups for an existing site, and Care (S$129/month) keeps updates applied each month so the next advisory is routine. For an upgrade from Next.js 13 or 14, send us the repository details through the contact form for a written scope first.
Frequently asked questions
According to CSA's alert of 20 October 2026, Next.js 16.x before 16.4.1 and versions 10.x to 15.x before 15.5.28 are affected. The Next.js team released the fixes on 14 October 2026 in versions 16.4.1 and 15.5.28. Any site on an older major version needs to move to 15.5.28 or 16.4.1.
Not automatically. The Next.js team says it coordinates with hosting providers to deploy mitigations such as firewall rules for unpatched apps, but it still tells everyone to upgrade. The critical cache flaw has no workaround. Upgrade the Next.js package, rebuild and redeploy, whatever the host.
Yes. The denial-of-service flaw only affects App Router apps with Server Actions, but the image optimisation flaw affects Next.js running on glibc-based Linux regardless of router, and CSA lists all versions before 15.5.28 and 16.4.1 as affected. Updating to a fixed version covers all three issues at once.
On a maintained project already on 15.5 or 16.4, upgrading the package, rebuilding and redeploying is usually a short task. Sites on Next.js 13 or 14 must move to a supported major version first, which can mean code changes and testing over several days. Ask your developer for a written estimate.
Patching a vulnerability is not reportable in itself. If you find signs that attackers accessed personal data, the PDPA may require you to assess the breach and notify PDPC and affected people within set time limits. CSA's SingCERT also accepts incident reports. This is general information, not legal advice.