On this page · 9 sections
- Next.js Lines and Fixed Versions for the Three October Flaws
- Remote Code Execution Through 'use cache' Functions on Next.js 16
- Image Optimization RCE Through librsvg on glibc Linux
- Server Actions Denial of Service From Next.js 13
- Advisories Fixed Since: Next.js 16.4.5 and 15.5.29
- Projects Still Older Than the September 30 Release
- Upgrading Next.js, sharp and React Server Components Packages
- Checking a Next.js Project for Affected Versions and Features
- Sources
Security release
Status as of 2026-11-12
2 CVEs
react
- First fixed in
- 19.0.9, 19.1.10, 19.2.9, 19.3.1The earliest release on each line that fixes these CVEs. The release to install is in the article's upgrade steps.
- Exploited
- None known · CISA SSVC
- Published
- 2026-09-23 – 2026-11-10
Most severe first
- CVE-2026-126187Critical9.5React: Unauthenticated Remote Code Execution in React Server Components
- CVE-2026-96889High7.8Librsvg: use-after-free when xml includes have duplicated entities
14 more named
Also named in this article, without a record here: CVE-2026-119347, CVE-2026-119790, CVE-2026-119351, CVE-2026-119349, CVE-2026-119350, CVE-2026-119348, CVE-2026-119346, CVE-2026-94483, CVE-2026-94543, CVE-2026-94484, CVE-2026-94485, CVE-2026-103004, CVE-2026-94544, CVE-2026-94486
Data: CVE records on cve.org
Warning
The October 14 Next.js security update fixes two critical remote code execution flaws and one high-severity denial of service in Next.js 16.4.1 and 15.5.28. Both critical flaws are unauthenticated and carry a CVSS 4.0 score of 9.5. The image optimization flaw reaches back to Next.js 10.0.0, so applications on Next.js 10 to 14 get no patched release; for them the only fix Vercel names is sharp 0.35.5 or later. Since then, Next.js 16.4.5 and 15.5.29 have fixed seven more advisories, so a project upgrading today should install those or later releases.
Next.js Lines and Fixed Versions for the Three October Flaws #
The three advisories cover different version ranges. The 'use cache' flaw exists only on 16.x, the Server Actions denial of service starts at 13.0.0, and the image optimization flaw starts at 10.0.0. The table shows which flaw reaches which line and what to install now, after the November releases.
| Installed line | GHSA-673q-mjm6-r5xr, RCE in 'use cache' | CVE-2026-96889, RCE in image optimization | GHSA-p3m5-59mp-jv5r, Server Actions DoS | Install now |
|---|---|---|---|---|
| 16.x up to 16.4.0 | Affected, fixed in 16.4.1 | Affected, fixed in 16.4.1 | Affected, fixed in 16.4.1 | 16.4.5 or 16.4.6 |
| 15.x up to 15.5.27 | Not affected | Affected, fixed in 15.5.28 | Affected, fixed in 15.5.28 | 15.5.29 |
| 13.x and 14.x | Not affected | Affected, no patched release; sharp 0.35.5 or later | Affected with App Router and a Server Action; no patched release, no workaround | 15.5.29 or 16.4.6 |
| 10.x to 12.x | Not affected | Affected, no patched release; sharp 0.35.5 or later | Not affected | sharp 0.35.5 or later, then a supported line |
Vercel calls 16.4 the Active LTS line and 15.5 the Maintenance LTS line, and the October and November security releases ship only for those two lines. An application on 13.x or 14.x that uses the App Router with a Server Action has no fix for the denial of service except moving to 15.5 or 16.4. The security post adds that two of the three fixes, one critical and one high, were held back from the September 30 security release because of upstream dependency delays.
Remote Code Execution Through 'use cache' Functions on Next.js 16 #
GHSA-673q-mjm6-r5xr is rated critical with a CVSS 4.0 score of 9.5 and affects Next.js from 16.0.0 up to and including 16.4.0. It needs the App Router with Cache Components and a 'use cache' function that returns multiple typed arrays. The advisory lists no 15.x range, so 15.5.28 does not fix this flaw: 15.x was never affected. The advisory gives no workaround and tells every 16.x application to upgrade, including those without such a function.
The root cause is in React. The upstream advisory, GHSA-xqc2-xf4c-x3h3, received CVE-2026-126187 on November 10, 27 days after the patch, with CVSS 4.0 9.5 and the weakness CWE-502, deserialization of untrusted data. It affects react-server-dom-webpack, react-server-dom-parcel and react-server-dom-turbopack in 19.0.0 through 19.0.8, 19.1.0 through 19.1.9, 19.2.0 through 19.2.8 and 19.3.0, and is fixed in 19.0.9, 19.1.10, 19.2.9 and 19.3.1.
"This only affects extremely rare cases where responses transport multiple typed arrays and an attacker-controlled value." (React advisory GHSA-xqc2-xf4c-x3h3)
The React advisory therefore reaches beyond Next.js. Any framework, bundler or bundler plugin that supports React Server Components and installs one of those three packages needs the React update. React states that an application whose React code does not use a server is not affected.
Image Optimization RCE Through librsvg on glibc Linux #
GHSA-2464-fhr4-w9xw is also critical at CVSS 4.0 9.5. It affects Next.js from 10.0.0 up to and including 15.5.27 and 16.x up to and including 16.4.0, and only when Next.js runs on glibc-based Linux and the Image Optimization API processes SVG. The flaw is not in Next.js code: the advisory names a memory-related vulnerability in an upstream library used for Image Optimization and carries CVE-2026-96889. That record describes a use-after-free in librsvg, the SVG library.
According to the record, an SVG with nested XML inclusions (XIncludes) and duplicate entity declarations makes librsvg free an XML entity the parser is still using, which can crash the process or execute arbitrary code. Red Hat published the record on September 23 with a CVSS 3.1 score of 7.8 for librsvg itself, and CISA's SSVC assessment of September 25 rates exploitation as "poc", meaning a public proof of concept. Next.js scores its own exposure through the image API higher, at 9.5.
The workaround is to make sure the sharp package used by Next.js is 0.35.5 or later. The advisory says fresh installs already get a fixed sharp and that upgrading Next.js makes package managers provide one. Because Next.js 10 to 14 get no release, an existing lockfile on those lines can keep an older sharp until someone updates it. The November release also closed a related gap: GHSA-7qx7-33qx-rqx2 (CVE-2026-119347) let an image that is misclassified as AVIF reach the SVG decoder even with images.dangerouslyAllowSVG: false.
Server Actions Denial of Service From Next.js 13 #
GHSA-p3m5-59mp-jv5r is rated high with a CVSS 4.0 score of 8.2 and affects Next.js from 13.0.0 up to and including 15.5.27 and from 16.0.0 up to and including 16.4.0. Crafted requests to an App Router application with at least one Server Action cause excessive CPU use, which blocks further requests in the same process. Applications that use only the Pages Router, or that have no Server Action, are not vulnerable. The advisory names no workaround besides upgrading.
The upstream React advisory GHSA-h3gv-c5rc-p453, also high at 8.2, describes the same class of request against Server Function endpoints, which can lead to out-of-memory exceptions as well as CPU exhaustion. It is fixed in the same React releases, 19.0.9, 19.1.10, 19.2.9 and 19.3.1, and lists no CVE.
Advisories Fixed Since: Next.js 16.4.5 and 15.5.29 #
On November 3, the November security release shipped 16.4.5 with seven advisory fixes and 15.5.29 with the three that reach 15.x. Each has a CVE and a CVSS 4.0 score between 6.0 and 6.9, and the advisories rate all seven medium. The post rates the cross-tenant disclosure, GHSA-mfr8-8qww-v76h, High. Four concern Cache Components and exist only on 16.x.
| Advisory | CVE | CVSS 4.0 | Affected | What it allows |
|---|---|---|---|---|
| GHSA-mfr8-8qww-v76h | CVE-2026-119790 | 6.3 | 16.3.0 to 16.4.4 | Another tenant's cached content when a 'use cache' function is called both directly and through unstable_cache() |
| GHSA-vc7v-qv4w-wrv8 | CVE-2026-119351 | 6.3 | 16.2.0 to 16.4.4 | Content for one root param value served for another through nested 'use cache' functions |
| GHSA-rhh4-g77r-r9qj | CVE-2026-119349 | 6.3 | 16.0.0 to 16.4.4 | Another user's cached result when distinct binary arguments produce the same cache identity |
| GHSA-vvgp-ww4w-46vf | CVE-2026-119350 | 6.3 | 16.4.0 to 16.4.4 | A poisoned shared fallback shell on self-hosted next start with Partial Prefetching off |
| GHSA-pc58-hwjq-p385 | CVE-2026-119348 | 6.3 | Up to 15.5.28; 16.0.0 to 16.4.4 | Responses sent to the wrong client behind an HTTP/1.1 proxy that queues pipelined requests |
| GHSA-f3mh-rxg3-f5g2 | CVE-2026-119346 | 6.0 | 15.0.0 to 15.5.28; 16.0.0 to 16.4.4 | HttpOnly cookie values readable by same-origin JavaScript on Edge routes |
| GHSA-7qx7-33qx-rqx2 | CVE-2026-119347 | 6.9 | 15.0.0 to 15.5.28; 16.0.0 to 16.4.4 | SVG reaching the image decoder despite dangerouslyAllowSVG: false |
Next.js 16.4.6, released on November 9, backports bug fixes and lists no security fix, so 16.4.5 and 16.4.6 are both outside every range above.
Projects Still Older Than the September 30 Release #
The September 30 release, 16.3.8 and 15.5.27, fixed seven further advisories. A project that has not updated since before it also lacks these fixes:
- GHSA-cjq9-62q9-8jv4 (CVE-2026-94483, high, CVSS 4.0 8.3): server-side request forgery in Image Optimization through an allow-listed remote URL; applications without
images.remotePatternsare not affected. - GHSA-4jqv-mc3x-m676 (CVE-2026-94543, medium, 6.3): cache poisoning of SSG and ISR pages in self-hosted Pages Router applications; Vercel deployments are not affected.
- GHSA-mcj8-r9mp-w47p (CVE-2026-94484, medium, 6.3): one unauthenticated request can poison the shared response cache when a root-level catch-all page sits beside SSG or ISR routes.
- GHSA-f87g-xv8r-7p7x (CVE-2026-94485, medium, 6.3): metadata image routes in webpack builds ignore
dynamicParams; Turbopack builds are not affected. - GHSA-h694-7cp9-m8p3 (CVE-2026-103004, medium, 6.3): nested
'use cache'functions keyed without a root param, fixed in 16.3.8. - GHSA-3w37-wq28-93x7 (CVE-2026-94544, medium, 6.3): unpublished Draft Mode content leaking into regular responses and prerendered pages with Cache Components.
- GHSA-39w2-rjm5-chcv (CVE-2026-94486, low, 2.3): the
next devModel Context Protocol endpoint readable by a malicious website the developer visits; production deployments do not serve it.
Upgrading Next.js, sharp and React Server Components Packages #
- On 16.x, install
next@16.4.6ornext@16.4.5; on 15.x, installnext@15.5.29. Both cover the October fixes and the November ones. - On 13.x or 14.x with the App Router and a Server Action, plan the move to 15.5 or 16.4: the denial of service has no fix and no workaround on those lines.
- On Next.js 10 to 14 running on glibc Linux, update
sharpto 0.35.5 or later and commit the new lockfile, then confirm the version that the build resolves. - Outside Next.js, update
react-server-dom-webpack,react-server-dom-parcelorreact-server-dom-turbopackto 19.0.9, 19.1.10, 19.2.9 or 19.3.1, whichever matches the installed 19.x line. - Rebuild and redeploy container images after the update, because a running image keeps the
nextandsharpversions it was built with.
npm install next@16.4.6 # 16.x line: 16.4.5 or later
npm install next@15.5.29 # 15.x line
npm install sharp@^0.35.5 # Next.js 10 to 14 on glibc LinuxChecking a Next.js Project for Affected Versions and Features #
The first command prints the resolved next, sharp and React Server Components packages. The second prints the glibc version on Linux and undefined on musl-based systems such as Alpine, which the image optimization flaw does not reach. The search then finds the features each advisory needs: Cache Components and 'use cache' for the 16.x flaws, a 'use server' directive for Server Actions, and the image settings for the image flaws.
npm ls next sharp react-server-dom-webpack react-server-dom-turbopack react-server-dom-parcel
node -p "process.report.getReport().header.glibcVersionRuntime"
grep -rnE "use cache|cacheComponents|use server|dangerouslyAllowSVG|remotePatterns" --include="*.ts" --include="*.tsx" --include="*.js" --include="*.jsx" --include="*.mjs" .The Sentinel’s Call
Every Next.js 16 application on 16.4.0 or earlier is exposed to both critical flaws and should move straight to 16.4.5 or 16.4.6. On 15.x, 15.5.29 covers the image and Server Actions flaws as well as the November fixes. Applications still on Next.js 10 to 14 get no release, so on glibc Linux they should update sharp now and plan the move to a supported line.
Our judgement, drawn only from the facts and sources above.
Verified We installed Next.js 16.4.1 and 15.5.28 from npm and ran them on Nov 12, 2026.
Next.js 16.4.1
node -e 'console.log(require("next/package.json").version)'16.4.1
Full output and environment
$ node -e 'console.log(require("next/package.json").version)' 16.4.1 $ node -e 'require("next"); console.log("require ok")' require ok
Next.js 15.5.28
node -e 'console.log(require("next/package.json").version)'15.5.28
Full output and environment
$ node -e 'console.log(require("next/package.json").version)' 15.5.28 $ node -e 'require("next"); console.log("require ok")' require ok
Isolated container: official image, network off, read-only, no host files. How we check
Sources
- GHSA-xqc2-xf4c-x3h3: Unauthenticated Remote Code Execution in React Server Components github.com · Oct 14, 2026
- GHSA-h3gv-c5rc-p453: Denial of Service in Server Functions github.com · Oct 14, 2026
- November 2026 Security Release | Next.js nextjs.org · Nov 3, 2026
- Next.js Security Update for Upstream Vulnerabilities | Next.js nextjs.org · Oct 14, 2026
- CVE-2026-126187: React: Unauthenticated Remote Code Execution in React Server Components cve.org · Nov 10, 2026
- CVE-2026-96889: Librsvg: use-after-free when xml includes have duplicated entities cve.org · Sep 23, 2026
- vercel/next.js v16.4.5 github.com · Nov 3, 2026
- vercel/next.js v15.5.29 github.com · Nov 3, 2026
- vercel/next.js v16.4.6 github.com · Nov 9, 2026
- September 2026 Security Release | Next.js nextjs.org · Sep 30, 2026
- GHSA-f3mh-rxg3-f5g2: HttpOnly cookie exposure through internal response header on Next.js Edge runtime routes github.com · Nov 3, 2026
- GHSA-7qx7-33qx-rqx2: SVG rejection bypass in Next.js image optimization github.com · Nov 3, 2026
- GHSA-pc58-hwjq-p385: Cross-client response injection and disclosure in self-hosted Next.js applications forwarding fetched responses github.com · Nov 3, 2026
- GHSA-rhh4-g77r-r9qj: Cross-user cache disclosure and poisoning in Next.js use cache with binary arguments github.com · Nov 3, 2026
- GHSA-vvgp-ww4w-46vf: Cache poisoning of shared fallback shells in Cache Components via request-supplied placeholder route params github.com · Nov 3, 2026
- GHSA-vc7v-qv4w-wrv8: Cache leak across root param values in nested 'use cache' functions via delayed inner stream metadata github.com · Nov 3, 2026
- GHSA-mfr8-8qww-v76h: Information disclosure across root params in Next.js when a 'use cache' function is called through unstable_cache() github.com · Nov 3, 2026
- GHSA-p3m5-59mp-jv5r: Denial of Service in App Router using Server Actions github.com · Oct 14, 2026
- GHSA-673q-mjm6-r5xr: Unauthenticated Remote Code Execution in `use cache` functions returning typed arrays github.com · Oct 14, 2026
- GHSA-2464-fhr4-w9xw: Unauthenticated Remote Code Execution in Image Optimization API when SVG files are used github.com · Oct 14, 2026
- GHSA-cjq9-62q9-8jv4: Server-Side Request Forgery in Image Optimization github.com · Sep 30, 2026
- GHSA-f87g-xv8r-7p7x: Information disclosure in Next.js App Router metadata image routes via dynamicParams bypass github.com · Sep 30, 2026
- GHSA-3w37-wq28-93x7: Pending `use cache` fill can leak Draft Mode content into regular responses and persisted pages github.com · Sep 30, 2026
- GHSA-h694-7cp9-m8p3: Cache leak across root param values in nested 'use cache' functions github.com · Sep 30, 2026
- GHSA-4jqv-mc3x-m676: Cache poisoning of SSG and ISR pages in self-hosted Next.js applications github.com · Sep 30, 2026
- GHSA-mcj8-r9mp-w47p: Cache poisoning in Next.js SSG/ISR rendering leads to cross-user content substitution and persistent denial of service github.com · Sep 30, 2026
- GHSA-39w2-rjm5-chcv: Information disclosure in the Next.js development server's Model Context Protocol endpoint github.com · Sep 30, 2026
More on Next.js
1 other article, newest first
- NewerNov 4, 2026Next.js 16.4.5, 15.5.29 and 16.4.6: Cross‑Tenant Cache Fix
Edited and approved by Jarosław Krzemiński. Spotted a mistake? Report a correction or read the corrections policy.



Comments