Next.js security releases in 2026: which version fixes what
On this page
- Which version to install now
- Every 2026 Next.js security release
- The October 14 update: are you affected?
- What each hosting platform has said
- Update Next.js and check what you run
- How Next.js announces the next release
- Tell your users what you patched
- If what you built is only a page
- Updates to this page
- Frequently asked questions
- Sources
As of October 24, 2026, 06:35 JST (October 23, 21:35 UTC). Every fact that can change carries the time it was checked, in JST (UTC+9), on October 24 unless it says otherwise. This page is a running list: each new Next.js security release adds a row to the tables below and a line to Updates to this page.
Install Next.js 16.4.3 on 16.x, or 15.5.28 with sharp 0.35.5 or later on 15.x: those carry the October 14, 2026 security update, which fixed two Critical remote code execution bugs and a High denial of service. Older 16.x and 15.x minors and 14.x get no fix.
As npm showed at 05:36 JST, 16.4.3 and 15.5.28 are the newest releases of the two lines Next.js supports. On 15.x, check sharp too: 15.5.28 still accepts the 0.34.x your lockfile may hold, and the SVG fix needs 0.35.5 or later (the sharp check). The two Critical bugs are GHSA-673q-mjm6-r5xr, in use cache functions, and GHSA-2464-fhr4-w9xw (CVE-2026-96889), in image optimization of SVG files; the High one is GHSA-p3m5-59mp-jv5r, in Server Actions. 16.4.2 (October 15) and 16.4.3 (October 23) are bug-fix releases whose notes name no advisory, so 16.4.1 is the lowest 16.x version with every 2026 fix. No 16.3.x, 16.2.x, or 15.4.x release has the October fixes, and 14.x and older get none: move those apps to 16.4.3, or to 15.5.28 with sharp 0.35.5 or later.
Below: the version to install for each release line, all 10 security releases of 2026 and their 44 advisories, an "am I affected" check for each October 14 advisory, what each hosting platform has said, the update steps for npm, pnpm, yarn, and bun, and how Next.js announces the next release.
Which version to install now
| Your version | Line status | Newest release on npm (checked 05:36) | Has the October 14 fixes? | What to do |
|---|---|---|---|---|
| 16.4.x | 16.x is Active LTS | 16.4.3, October 23, 13:40 UTC, tagged latest | Yes, from 16.4.1 | Install 16.4.3 |
| 16.0.x to 16.3.x | Same 16.x line; Next.js published the October fixes only as 16.4.1 | 16.3.8 (September 30), 16.2.12 (July 25), 16.1.7 (March 16), 16.0.11 (January 26) | No | Move to 16.4.3 |
| 15.5.x | 15.x is Maintenance LTS | 15.5.28, October 14, 17:36 UTC, tagged backport | Yes, with sharp 0.35.5 or later | Install 15.5.28, then check sharp |
| 15.0.x to 15.4.x | No release since January 26, 2026 | 15.4.11, 15.3.9, 15.2.9, 15.1.12, 15.0.8 (January 26) | No | Move to 16.4.3, or to 15.5.28 with sharp 0.35.5 or later |
| 14.x | Unsupported | 14.2.35, December 11, 2025 | No | Move to 16.4.3, or to 15.5.28 with sharp 0.35.5 or later |
| 13.x and older | Unsupported | 13.5.11, March 27, 2025 | No | Move to 16.4.3, or to 15.5.28 with sharp 0.35.5 or later |
The line statuses are from Next.js's support policy (checked 05:40). It says Active LTS gets "new features, regular bug fixes, performance improvements, and security patches", and Maintenance LTS "only critical bug fixes and essential security updates". The same page says "Each major version will remain in Maintenance LTS for two years following the initial release." It gives 15.x's release date as October 21, 2024, so if the two years count from that day, they ended on October 21, 2026. The page still lists 15.x as Maintenance LTS and gives no end date. OpenNext, which runs Next.js on Cloudflare and AWS, reads it differently: its release notes of October 21 say "A major version stays supported until the second next major (Next.js 17) is released". Next.js hasn't said which reading is right. This page's advice, not Next.js's: if you're on 15.x, plan the move to 16.x before the next security release rather than after it.
npm's tags match the table: npm install next@latest installs 16.4.3 and npm install next@backport installs 15.5.28 (checked 05:36). The next-14 tag still points at 14.2.35, which has none of the 2026 fixes.
Every 2026 Next.js security release
By the advisories Next.js has published in its GitHub repository (checked 05:37), 10 releases in 2026 carried security fixes, with 44 advisories between them. Until July, each came as an ad hoc patch; in Next.js's words, these "came with no advance notice and caused disruption for our users". On July 13 Next.js moved to scheduled releases: "roughly once a month" it posts a notice of the next one on its blog, and it keeps out-of-band updates for urgent fixes.
| Date (UTC) | How it came | 16.x fixed in | 15.x fixed in | Advisories | Worst |
|---|---|---|---|---|---|
| October 14 | Out-of-band, announced October 8 | 16.4.1 | 15.5.28 | 3: 2 Critical, 1 High | Remote code execution |
| September 30 | Scheduled, announced September 23 | 16.3.8 | 15.5.27 | 7: 1 High, 5 Medium, 1 Low | Server-side request forgery |
| September 22 | Out-of-band, announced the same day | 16.3.6 | 15.5.26, "hardening only" | 1 Critical | Remote code execution |
| August 25 | Scheduled for August 26, moved forward a day | 16.3.3 | 15.5.24 | 2 Critical | Remote code execution |
| July 21 | Scheduled, announced July 13 | 16.2.11 | 15.5.21 | 9: 4 High, 5 Medium | Middleware bypass, server-side request forgery |
| May 7 | Ad hoc, a fix for an incomplete fix of May 6 | 16.2.6 | 15.5.18 | 1 High | Middleware bypass |
| May 6 | Ad hoc | 16.2.5 | 15.5.16 | 12: 6 High, 4 Medium, 2 Low | Middleware bypass, server-side request forgery |
| April 8 | Ad hoc | 16.2.3 | 15.5.15 | 1 High | Denial of service |
| March 16 | Ad hoc | 16.1.7 | 15.5.13, and 15.5.14 on March 19 | 5 Medium | Request smuggling, denial of service |
| January 26 | Ad hoc | 16.1.5, 16.0.11 | 15.5.10, 15.4.11, 15.3.9, 15.2.9, 15.1.12, 15.0.8 | 3: 1 High, 2 Medium | Denial of service |
The dates are when the fixed versions reached npm and the advisories were published. Next.js's post for the July release is dated July 20, and the release itself went out on July 21; a note on the July 13 post says the date moved from July 20 to July 21. January 26 is the last time Next.js published fixes for 15.0 to 15.4 and for 16.0.
Every advisory, newest first
Severity and score are GitHub's records of each advisory: CVSS 4.0 where Next.js gave one, CVSS 3.1 otherwise (checked 05:37). The titles are Next.js's.
| Released | Advisory | CVE | Severity, CVSS | Title | Fixed in |
|---|---|---|---|---|---|
| Oct 14 | GHSA-2464-fhr4-w9xw | CVE-2026-96889 (librsvg's record) | Critical, 9.5 (v4) | Unauthenticated Remote Code Execution in Image Optimization API when SVG files are used | 16.4.1; 15.5.28 with sharp 0.35.5 or later |
| Oct 14 | GHSA-673q-mjm6-r5xr | None | Critical, 9.5 (v4) | Unauthenticated Remote Code Execution in use cache functions returning typed arrays | 16.4.1 |
| Oct 14 | GHSA-p3m5-59mp-jv5r | CVE-2026-94482 (published October 22) | High, 8.2 (v4) | Denial of Service in App Router using Server Actions | 16.4.1, 15.5.28 |
| Sep 30 | GHSA-cjq9-62q9-8jv4 | CVE-2026-94483 | High, 8.3 (v4) | Server-Side Request Forgery in Image Optimization | 16.3.8 |
| Sep 30 | GHSA-3w37-wq28-93x7 | CVE-2026-94544 | Medium, 6.3 (v4) | Pending use cache fill can leak Draft Mode content into regular responses and persisted pages | 16.3.8 |
| Sep 30 | GHSA-4jqv-mc3x-m676 | CVE-2026-94543 | Medium, 6.3 (v4) | Cache poisoning of SSG and ISR pages in self-hosted Next.js applications | 16.3.8, 15.5.27 |
| Sep 30 | GHSA-f87g-xv8r-7p7x | CVE-2026-94485 | Medium, 6.3 (v4) | Information disclosure in Next.js App Router metadata image routes via dynamicParams bypass | 16.3.8 |
| Sep 30 | GHSA-h694-7cp9-m8p3 | CVE-2026-103004 | Medium, 6.3 (v4) | Cache leak across root param values in nested 'use cache' functions | 16.3.8 |
| Sep 30 | GHSA-mcj8-r9mp-w47p | CVE-2026-94484 | Medium, 6.3 (v4) | Cache poisoning in Next.js SSG/ISR rendering leads to cross-user content substitution and persistent denial of service | 16.3.8, 15.5.27 |
| Sep 30 | GHSA-39w2-rjm5-chcv | CVE-2026-94486 | Low, 2.3 (v4) | Information disclosure in the Next.js development server's Model Context Protocol endpoint | 16.3.8 |
| Sep 22 | GHSA-vcvr-r3jv-pc5j | CVE-2026-94545 | Critical, 9.5 (v4) | Remote Code Execution in next/og ImageResponse | 16.3.6 (15.x not affected) |
| Aug 25 | GHSA-2xp9-vwfh-vxw4 | None | Critical, 9.5 (v4) | Unauthenticated Remote Code Execution in Image Optimization API when AVIF files are used | 16.3.3, 15.5.24 |
| Aug 25 | GHSA-p293-qw3h-jr36 | CVE-2026-75604 | Critical, 9.0 (v3.1) | Unauthenticated Remote Code Execution on windows-hosted servers | 16.3.3, 15.5.24 |
| Jul 21 | GHSA-6gpp-xcg3-4w24 | CVE-2026-64642 | High, 8.3 (v4) | Middleware / Proxy bypass in App Router applications using Turbopack and single locale | 16.2.11 |
| Jul 21 | GHSA-89xv-2m56-2m9x | CVE-2026-64649 | High, 8.3 (v4) | Server-Side Request Forgery in Server Actions on custom servers | 16.2.11, 15.5.21 |
| Jul 21 | GHSA-m99w-x7hq-7vfj | CVE-2026-64641 | High, 8.2 (v4) | Denial of Service in App Router using Server Actions | 16.2.11, 15.5.21 |
| Jul 21 | GHSA-p9j2-gv94-2wf4 | CVE-2026-64645 | High, 8.3 (v4) | Server-Side Request Forgery in rewrites via attacker-controlled destination hostname | 16.2.11, 15.5.21 |
| Jul 21 | GHSA-4633-3j49-mh5q | CVE-2026-64647 | Medium, 6.3 (v4) | Cache confusion of response bodies for requests with bodies containing invalid UTF-8 byte sequences | 16.2.11, 15.5.21 |
| Jul 21 | GHSA-4c39-4ccg-62r3 | CVE-2026-64646 | Medium, 6.3 (v4) | Unbounded Server Action payload in Edge runtime | 16.2.11, 15.5.21 |
| Jul 21 | GHSA-68g3-v927-f742 | CVE-2026-64648 | Medium, 6.0 (v4) | Cache confusion of response bodies for requests with bodies | 16.2.11, 15.5.21 |
| Jul 21 | GHSA-955p-x3mx-jcvp | CVE-2026-64643 | Medium, 6.3 (v4) | Unauthenticated disclosure of internal Server Function endpoints | 16.2.11, 15.5.21 |
| Jul 21 | GHSA-q8wf-6r8g-63ch | CVE-2026-64644 | Medium, 6.3 (v4) | Denial of Service in the Image Optimization API using SVGs | 16.2.11, 15.5.21 |
| May 7 | GHSA-26hh-7cqf-hhc6 | CVE-2026-45109 | High, 7.5 (v3.1) | Middleware / Proxy bypass in App Router applications via segment-prefetch routes - Incomplete Fix Follow-Up | 16.2.6, 15.5.18 |
| May 6 | GHSA-267c-6grr-h53f | CVE-2026-44575 | High, 7.5 (v3.1) | Middleware / Proxy bypass in App Router applications via segment-prefetch routes | 16.2.5, 15.5.16 |
| May 6 | GHSA-36qx-fr4f-26g5 | CVE-2026-44573 | High, 7.5 (v3.1) | Middleware / Proxy bypass in Pages Router applications using i18n | 16.2.5, 15.5.16 |
| May 6 | GHSA-492v-c6pp-mqqv | CVE-2026-44574 | High, 8.1 (v3.1) | Middleware / Proxy bypass through dynamic route parameter injection | 16.2.5, 15.5.16 |
| May 6 | GHSA-8h8q-6873-q5fj | CVE-2026-23870 | High, 7.5 (v3.1) | Denial of Service with Server Components | 16.2.5, 15.5.16 |
| May 6 | GHSA-c4j6-fc7j-m34r | CVE-2026-44578 | High, 8.6 (v3.1) | Server-side request forgery in applications using WebSocket upgrades | 16.2.5, 15.5.16 |
| May 6 | GHSA-mg66-mrh9-m8jx | CVE-2026-44579 | High, 7.5 (v3.1) | Denial of Service via connection exhaustion in applications using Cache Components | 16.2.5, 15.5.16 |
| May 6 | GHSA-ffhc-5mcf-pf4q | CVE-2026-44581 | Medium, 4.7 (v3.1) | Cross-site scripting in App Router applications using CSP nonces | 16.2.5, 15.5.16 |
| May 6 | GHSA-gx5p-jg67-6x7h | CVE-2026-44580 | Medium, 6.1 (v3.1) | Cross-site scripting in beforeInteractive scripts with untrusted input | 16.2.5, 15.5.16 |
| May 6 | GHSA-h64f-5h5j-jqjh | CVE-2026-44577 | Medium, 5.9 (v3.1) | Denial of Service in the Image Optimization API | 16.2.5, 15.5.16 |
| May 6 | GHSA-wfc6-r584-vfw7 | CVE-2026-44576 | Medium, 5.4 (v3.1) | Cache poisoning in React Server Component responses | 16.2.5, 15.5.16 |
| May 6 | GHSA-3g8h-86w9-wvmq | CVE-2026-44572 | Low, 3.7 (v3.1) | Middleware / Proxy redirects can be cache-poisoned | 16.2.5, 15.5.16 |
| May 6 | GHSA-vfv6-92ff-j949 | CVE-2026-44582 | Low, 3.7 (v3.1) | Cache poisoning via collisions in React Server Component cache-busting | 16.2.5, 15.5.16 |
| Apr 8 | GHSA-q4gf-8mx6-v5v3 | CVE-2026-23869 | High, 7.5 (v3.1) | Denial of Service with Server Components | 16.2.3, 15.5.15 |
| Mar 16 | GHSA-3x4c-7xq6-9pq8 | CVE-2026-27980 | Medium, 6.9 (v4) | Unbounded next/image disk cache growth can exhaust storage | 16.1.7, 15.5.14 |
| Mar 16 | GHSA-ggv3-7p47-pfv8 | CVE-2026-29057 | Medium, 6.3 (v4) | HTTP request smuggling in rewrites | 16.1.7, 15.5.13 |
| Mar 16 | GHSA-h27x-g6w4-24gq | CVE-2026-27979 | Medium, 6.9 (v4) | Unbounded postponed resume buffering can lead to DoS | 16.1.7 |
| Mar 16 | GHSA-jcc7-9wpm-mj36 | CVE-2026-27977 | Medium, 2.3 (v4) | Origin: null can bypass allowedDevOrigins protections for internal dev endpoints | 16.1.7 |
| Mar 16 | GHSA-mq59-m269-xvcx | CVE-2026-27978 | Medium, 5.3 (v4) | null origin can bypass Server Actions CSRF checks | 16.1.7 |
| Jan 26 | GHSA-h25m-26qc-wcjf | CVE-2026-23864 | High, 7.5 (v3.1) | Denial of Service with Server Components | 16.1.5, 16.0.11, 15.5.10 to 15.0.8 |
| Jan 26 | GHSA-5f7q-jpqc-wp7h | CVE-2025-59472 | Medium, 5.9 (v3.1) | Denial of Service in Partial Pre Rendering | 16.1.5 (on 15.x, GitHub lists only canary builds) |
| Jan 26 | GHSA-9g9p-9gw9-jx7f | CVE-2025-59471 | Medium, 5.9 (v3.1) | Denial of Service in Image Optimizer | 16.1.5, 15.5.10 |
Four notes on the IDs, each from the record named (checked 05:37–05:43):
- CVE-2026-96889 is librsvg's CVE, not a Next.js one. Red Hat, as the CVE Numbering Authority, published it at CVE.org on September 23 as "Librsvg: use-after-free when xml includes have duplicated entities", with a CVSS 3.1 score of 7.8. Next.js's advisory GHSA-2464-fhr4-w9xw names it and rates the Next.js case Critical, 9.5 in CVSS 4.0.
- GHSA-p3m5-59mp-jv5r got a CVE after the release. Next.js's post names none; GitHub published CVE-2026-94482 for it at CVE.org on October 22 at 15:22 UTC. GHSA-673q-mjm6-r5xr and GHSA-2xp9-vwfh-vxw4 have no CVE ID in GitHub's records.
- Five advisories point to an upstream one: GHSA-673q-mjm6-r5xr to React's GHSA-xqc2-xf4c-x3h3, GHSA-p3m5-59mp-jv5r to React's GHSA-h3gv-c5rc-p453, GHSA-vcvr-r3jv-pc5j to Satori's GHSA-wx4j-mvgx-mqwp, and GHSA-2xp9-vwfh-vxw4 to libheif's GHSA-g89c-p67h-r497, per the Next.js posts; GHSA-2464-fhr4-w9xw names CVE-2026-96889.
- Next.js's repository advisories of September 30 show the fixed version as
16.3.?and15.5.?for six of the seven; GitHub's global record of GHSA-cjq9-62q9-8jv4 says 16.3.8. The table takes 16.3.8 and 15.5.27 from Next.js's own post, and the 15.x column only where GitHub lists 15.x as affected.
The October 14 update: are you affected?
Each "affected" cell is in the advisory's own words or version ranges; the ranges are from GitHub's advisory database (checked 05:39).
| Advisory | Severity | Affected versions | You're affected if | Workaround, per Next.js |
|---|---|---|---|---|
GHSA-673q-mjm6-r5xr: remote code execution in use cache | Critical, 9.5 | 16.0.0 to 16.4.0 | Your app uses the App Router with Cache Components and "a use cache function returns multiple typed arrays" | "There is no known workaround for affected applications." Next.js adds: "You should upgrade immediately even if your application does not have similar functions." |
| GHSA-2464-fhr4-w9xw (CVE-2026-96889): remote code execution in image optimization of SVG files | Critical, 9.5 | 10.0.0 to 15.5.27, and 16.0.0 to 16.4.0 | Next.js "runs on glibc-based Linux" and serves its Image Optimization API; Netlify adds that next/og ImageResponse reaches the same flaw | "ensure the version of sharp used by Next.js is 0.35.5 or later" |
| GHSA-p3m5-59mp-jv5r: denial of service in Server Actions | High, 8.2 | 13.0.0 to 15.5.27, and 16.0.0 to 16.4.0 | Your app uses the App Router "with at least one Server Action" | "No workaround exists besides upgrading." "Applications using Pages Router or not using Server Actions are not vulnerable." |
To check your app in two minutes, run these in the project's root:
- Versions:
npm ls next sharp. You neednext16.4.1 or later on 16.x, or 15.5.28 on 15.x, andsharp0.35.5 or later. - Cache Components:
grep -rn "cacheComponents\|useCache" next.config.*andgrep -rln "use cache" app src. Any hit means theuse cacheadvisory can apply. - Server Actions:
grep -rln "use server" app src. Any hit in an App Router app means the denial of service applies. - glibc or not:
node -p "process.report.getReport().header.glibcVersionRuntime"on the server or inside the image. A version number means glibc;undefinedmeans another C library, such as musl on Alpine. The SVG advisory names glibc-based Linux and says nothing about musl.
The sharp check on 15.5.28
sharp is an optional dependency of Next.js, and the two fixed versions ask for it differently (npm, checked 05:39). next@16.4.1 asks for ^0.35.5, so it can't be installed with an older sharp. next@15.5.28 accepts ^0.34.3 || ^0.35.5, so a lockfile that already holds a 0.34.x sharp keeps it. next@15.4.11 asks for ^0.34.3 (checked 06:40), so every 15.4.x lockfile holds 0.34.x, and moving it to 15.5.28 keeps that. That range is 15.5.28's whole change for the SVG bug: between 15.5.27 and 15.5.28, the one image change on GitHub is "[next/image] Bump sharp" (checked 06:35). A 15.x project created before sharp 0.35.0 came out on June 10 most likely holds 0.34.x.
This page's own test, with npm 10.9.9 at 05:45: a lockfile with next 15.5.27 and sharp 0.34.5, after npm install next@15.5.28, still held sharp 0.34.5. npm audit then reported sharp as High, through GHSA-wq5f-xc86-pv6w, "sharp : Vulnerability in librsvg dependency CVE-2026-96889", fixed in 0.35.5. npm update sharp moved it to 0.35.5. A fresh install takes 0.35.5, npm's latest for sharp since September 27.
The same test on a fresh next 15.5.28 project left one more npm audit finding: postcss 8.4.31, which next 15.5.28 pins, with four advisories, two of them High. npm's suggested fix is next 16.4.3, which it marks as a major version change. On 16.4.3, npm audit reported nothing (05:40).
What each hosting platform has said
This table holds only what each platform says on its own pages. It is the part of this page that goes stale first.
| Platform | Own statement on October 14? (checked) | What it says | What you do |
|---|---|---|---|
| Vercel | No. Its changelog feed and Knowledge Base bulletins have no entry on it (05:41–05:42) | For the August 25 release, Vercel wrote: "Next.js applications hosted on Vercel are protected and require no customer action." It has written nothing like that for October 14. Next.js's own post of September 30 says of CVE-2026-94543: "Applications deployed on Vercel are not affected." | Update next and redeploy. Vercel hasn't said whether its platform blocks these three |
| Netlify | Yes: a changelog entry dated October 14 (05:40; same text at 06:09) | "we strongly recommend upgrading next to 15.5.28 or 16.4.1 and redeploying". For the SVG bug, the image optimization path "is not exercised on Netlify", but next/og ImageResponse "does run in your Netlify function", where "the impact is limited to a crashed function invocation, not code execution". Apps that meet the use cache conditions "are affected" | Update and redeploy; on 15.x, with sharp 0.35.5 or later, since next/og runs in your function. Netlify adds that public deploy previews and branch deploys "may remain vulnerable until they are automatically deleted", and suggests deleting them by hand |
| Cloudflare Workers, through OpenNext | Partly. OpenNext's Cloudflare adapter 1.20.12 (October 15) bumped its Next.js dependencies "following the Next.js security update on Oct 14" and says nothing about whether a Worker is affected. Cloudflare's WAF changelog names no rule for these advisories (05:42, 05:46, 06:34) | OpenNext's docs say image optimization runs "using Cloudflare Images", through an IMAGES binding or a custom loader, and don't mention sharp. Cloudflare's emergency WAF release of October 14 adds a rule "to block active exploitation of a critical remote code execution (RCE) vulnerability found in popular web frameworks" and names no framework or CVE | Update next and redeploy. On 15.x, also update @opennextjs/cloudflare to 1.20.13 or later: since October 21, earlier versions stop a 15.x build with "Next.js version 15.5.28 is not supported by the Next.js team" |
| AWS Amplify Hosting | No. No AWS security bulletin names Next.js (bulletin feed, 05:42) | Amplify's docs say its compute "fully manages server-side rendering (SSR) for apps built with Next.js versions 12 through 15" and that "Amplify automatically deploys Sharp for you", without a version | Use 15.5.28 with sharp 0.35.5 or later in your lockfile. AWS hasn't said which sharp version Amplify deploys |
| Your own Linux server or Docker image | Not applicable | The SVG advisory names glibc-based Linux. Debian- and Ubuntu-based images use glibc; Alpine images use musl, which the advisory doesn't mention | Update next, check sharp, rebuild the image, and restart |
| Your own Windows server | Not applicable | The August 25 advisory CVE-2026-75604 is a Critical remote code execution in apps that use both the Pages Router and the App Router without Cache Components, "when the Next.js server uses a Windows filesystem", with "no known workaround" | Any version from 16.3.3 or 15.5.24 has its fix; 16.4.3, and 15.5.28 with sharp 0.35.5 or later, have every fix of the year |
A self-hosted Next.js that optimizes images also needs the Node.js release of October 21: Vercel says "Next.js does not block Brotli responses in image optimization", and Node.js October 2026 security release: what to update has the fixed Node.js versions and the steps.
Update Next.js and check what you run
1. Find the versions you run
Run npm ls next sharp in the project. With pnpm, run pnpm why next and pnpm why sharp; with yarn, yarn why next; with bun, bun pm ls --all. npx next info also prints the Next.js version along with your platform. For a deployed app, read the lockfile of the commit that is live, not your working copy.
2. Install the fixed version
On 16.x, run npm install next@16.4.3, pnpm add next@16.4.3, yarn add next@16.4.3, or bun add next@16.4.3. On 15.x, use next@15.5.28 in the same commands. If package.json lists eslint-config-next or other @next/ packages, move them to the same version.
3. Check sharp
Run npm ls sharp again. Below 0.35.5: if sharp is listed in your package.json, run npm install sharp@^0.35.5 (or pnpm add, yarn add, bun add with the same version). Otherwise run npm update sharp (pnpm update sharp, yarn up -R sharp on Yarn 2 and later, or bun update sharp). Then check once more.
4. Run the audit
Run npm audit, pnpm audit, or yarn npm audit on Yarn 2 and later. On 16.4.3 it should report no advisory against next; on 15.5.28 it still reports postcss, as described in the sharp check. GitHub's advisory database, where the audit's links point, published its records of the three October 14 advisories on October 22, between 15:50 and 16:42 UTC, eight days after the release (checked 05:39). A scan that reads this database had no record of them before then.
5. Rebuild, redeploy, and restart
Commit the lockfile and deploy from it. Rebuild Docker images so they install the new lockfile, then restart every process that runs next start or your custom server. On Netlify and other hosts that keep old preview deploys online, delete the previews built before the update.
6. Move off the lines with no fix
16.0 to 16.3 get the October fixes only by moving to 16.4.1 or later. 15.0 to 15.4, 14.x, and older get them only by moving to 16.4.3, or to 15.5.28 with sharp 0.35.5 or later.
How Next.js announces the next release
Since July, every release came with a notice on the Next.js blog first; only the out-of-band one of September 22 had its notice the same day (checked 05:37):
| Notice | Posted | What it said | What happened |
|---|---|---|---|
| Next.js Security Release and Our Next Patch Release | July 13 | A release for 16.2 and 15.5 with "4 high and 5 medium severity vulnerabilities" | Released July 21 |
| Upcoming Next.js August Security Release | August 20 | August 26, "one critical severity vulnerability" | Moved to August 25, with "two critical severity vulnerabilities rather than one" |
| Upcoming Next.js Security Update for a Critical Upstream Issue | September 22 | 16.3.6 and 15.5.26 the same day | Released September 22 |
| Upcoming Next.js September Security Release | September 23 | September 30, "one high, five medium, and one low" | Released September 30; a note says two more fixes, "one critical, one high", were "pending upstream coordination" |
| Upcoming Next.js Security Update for Upstream Vulnerabilities | October 8 | October 14, "two Critical and one High" | Released October 14, with the two postponed fixes |
Next.js says each notice will give "the expected release timeline and the highest anticipated severity", and that "for urgent disclosures that cannot wait, or vulnerabilities that are already being exploited in the wild", it will still publish ad-hoc patches. The other four notices came 5 to 8 days before the release. The five releases since July reached npm on a Tuesday or Wednesday between 15:32 and 17:43 UTC, which is 00:32 to 02:43 JST the next day.
As of 06:36 JST on October 24, the blog lists no notice for a next release. When one appears, this page gets an update the same day.
Tell your users what you patched
While you update and redeploy, the people who use your app may ask whether they need to do anything. Ask your coding agent for one HTML file, with no build step, that says you moved to a fixed Next.js release, when you redeployed, and what users should do, if anything.
Convika turns that file into a link: sign up free, drop the file on the upload screen, check the private preview, and publish. The page runs on Convika, apart from your app, so it stays up while you redeploy. On the free plan the page is public: search engines and Convika's gallery may list it, so leave out exact versions, hostnames, IP addresses, and anything internal.
If what you built is only a page
Some things built with Next.js are a single marketing or notice page with a form, and no server code of their own. Published on Convika as one HTML file (ask your coding agent for a single static HTML file with no build step), such a page is HTML that Convika serves at a convika.page address or your own domain, so there is no Next.js server of yours to update for these releases (publish an HTML page, add a form without a backend). An app that needs a server, a database, or a login still needs the steps above.
Updates to this page
- October 24, 2026, 06:35 JST: first version. Every release, advisory, host row, and npm fact was read between 05:36 and 06:35 JST.
This page changes when Next.js posts a notice or publishes a release, when Vercel, Cloudflare, OpenNext, or AWS says something about the October 14 advisories, when GHSA-673q-mjm6-r5xr gets a CVE, when Next.js gives 15.x an end date, and when anything about attacks in the wild is reported. The same week: Node.js October 2026 security release: what to update and PHP October 2026 security release: what to update.
Frequently asked questions
Which Next.js version should I use right now?
16.4.3, npm's latest since October 23, or 15.5.28 if you can't leave 15.x yet (checked 05:36 JST on October 24). Both have the fixes of the October 14, 2026 security update; on 15.5.28, only with sharp 0.35.5 or later. 16.4.1 is the lowest 16.x version that has them.
Is Next.js 16.4.3 a security release?
No. Its release notes, and those of 16.4.2, list bug fixes and name no advisory. The security fixes came in 16.4.1 on October 14, and 16.4.3 includes them.
Which versions are affected by GHSA-673q-mjm6-r5xr?
16.0.0 to 16.4.0, in apps that use the App Router with Cache Components and have a use cache function that returns multiple typed arrays. There is no workaround, and Next.js says to upgrade to 16.4.1 or later "even if your application does not have similar functions". GitHub doesn't list 15.x as affected.
Is CVE-2026-96889 a Next.js vulnerability?
It is librsvg's CVE, which Red Hat published on September 23, 2026 with a CVSS 3.1 score of 7.8. Next.js's advisory GHSA-2464-fhr4-w9xw names it: the bug reaches Next.js's image optimization "when Next.js runs on glibc-based Linux", and Next.js rates that Critical, 9.5 in CVSS 4.0. The fix is sharp 0.35.5 or later: next 16.4.1 requires it, while next 15.5.28 still accepts 0.34.x, so on 15.x check npm ls sharp.
Do I need to update Next.js if I deploy on Vercel?
Yes: Next.js tells every app to update, so update and redeploy. Vercel has published no statement on the October 14 advisories as of 05:42 JST on October 24. For the August release it wrote that apps on Vercel were "protected and require no customer action", but it hasn't said that this time.
Is Next.js 15 still supported?
Yes, as Maintenance LTS, per Next.js's support policy (checked 05:40 JST on October 24), and 15.5.28 got the October fixes, the SVG one only with sharp 0.35.5 or later. The policy keeps a major in Maintenance LTS "for two years following the initial release", and 15.x came out on October 21, 2024. Next.js hasn't posted an end date. Only 15.5 gets fixes: 15.0 to 15.4 have had none since January 26, 2026.
Is Next.js 14 affected?
Yes, by the SVG advisory, whose range starts at 10.0.0, and by the Server Actions one, whose range starts at 13.0.0. 14.x is unsupported, and its last release, 14.2.35, is from December 11, 2025. Move to 16.4.3, or to 15.5.28 with sharp 0.35.5 or later.
Does npm audit find these vulnerabilities?
Yes, since October 22, when GitHub's advisory database published its records of the three, eight days after the release. In this page's test at 05:40 JST on October 24, npm audit on next 16.4.0 listed all three, and on next 16.4.3 it listed nothing. It also flags a sharp older than 0.35.5.
Are these vulnerabilities being exploited?
No source this page checked reports attacks on these Next.js advisories. Cloudflare's emergency WAF rule of October 14 says it blocks "active exploitation of a critical remote code execution (RCE) vulnerability found in popular web frameworks", and names no framework or CVE. CISA's Known Exploited Vulnerabilities catalog, version 2026.10.23, lists no Next.js CVE from 2026; its one React Server Components entry is CVE-2025-55182 from December 2025 (checked 05:42 JST on October 24). Next.js's posts don't mention attacks in the wild.
When is the next Next.js security release?
Not announced as of 06:36 JST on October 24. Next.js posts a notice on its blog before each scheduled release, 5 to 8 days ahead so far, and says it posts such notices "roughly once a month". Out-of-band fixes can come with little or no notice.
I use React Server Components without Next.js. What do I update?
React's advisory GHSA-xqc2-xf4c-x3h3, the upstream one of GHSA-673q-mjm6-r5xr, lists react-server-dom-webpack, react-server-dom-parcel, and react-server-dom-turbopack, fixed in 19.0.9, 19.1.10, 19.2.9, and 19.3.1 (checked 05:43 JST on October 24).
Sources
Times are in JST (UTC+9), on October 24, 2026.
- npm registry: next, its dist-tags, publish times, and the dependencies of 16.4.0, 16.4.1, 15.5.27, and 15.5.28 (05:36, 05:39; 06:09, 06:36)
- Next.js blog index (05:37; 06:09, 06:36)
- Next.js: Next.js Security Release and Our Next Patch Release, July 13 (05:37)
- Next.js: July 2026 Security Release (05:37)
- Next.js: Upcoming Next.js August Security Release, Update: August Next.js Security Release, and August 2026 Security Release (05:37)
- Next.js: Upcoming Next.js Security Update for a Critical Upstream Issue and Next.js Security Update for a Critical Upstream Issue, September 22 (05:37)
- Next.js: Upcoming Next.js September Security Release and September 2026 Security Release (05:37)
- Next.js: Upcoming Next.js Security Update for Upstream Vulnerabilities, October 8, and Next.js Security Update for Upstream Vulnerabilities, October 14 (05:37)
- Next.js Support Policy (05:40)
- vercel/next.js security advisories, all 44 of 2026 (05:37), and GHSA-673q-mjm6-r5xr, GHSA-2464-fhr4-w9xw, and GHSA-p3m5-59mp-jv5r (05:38)
- GitHub Advisory Database: the records of GHSA-673q-mjm6-r5xr, GHSA-2464-fhr4-w9xw, GHSA-p3m5-59mp-jv5r, and GHSA-cjq9-62q9-8jv4 (05:39), and of the
sharpadvisories GHSA-wq5f-xc86-pv6w, GHSA-rgj7-g3m4-5g8c, and GHSA-f88m-g3jw-g9cj (05:46) - Next.js v16.4.1, v15.5.28, v16.4.2, and v16.4.3 release notes (05:38), and the v15.5.27...v15.5.28 comparison (06:35)
- CVE.org: CVE-2026-96889 and CVE-2026-94482 (05:43)
- React: GHSA-xqc2-xf4c-x3h3 (05:43)
- sharp v0.35.5 release notes and npm registry: sharp (05:39, 05:44)
- npm audit, npm 10.9.9, run by this page on lockfiles for
next16.4.0, 16.4.3, 15.5.27, and 15.5.28, and on one that heldsharp0.34.5 (05:40, 05:45) - Netlify: Next.js & React security release (Oct 2026): what to know, dated October 14 (05:40; 06:09)
- Vercel changelog and its feed, Vercel Knowledge Base bulletins, and Vercel applications are protected from Next.js August 2026 security vulnerabilities (05:41–05:42; 06:09)
- Vercel: Node.js security advisory: Brotli decoder RCE (CVE-2026-111497) (05:41)
- Cloudflare WAF changelog and WAF Release - 2026-10-14 - Emergency (05:41, 05:46)
- OpenNext Cloudflare adapter releases, 1.20.12 and 1.20.13, @opennextjs/aws v4.1.12, issue #1320, and OpenNext: Image optimization (05:42; 06:09, 06:34)
- AWS Amplify: Amplify support for Next.js and the AWS Security Bulletins feed (05:42)
- CISA Known Exploited Vulnerabilities catalog, version 2026.10.23 (05:42; 06:09)
Related articles
- Node.js October 2026 security release: what to updateNode.js 22.23.4, 24.22.1, and 26.12.1 fix the Brotli RCE CVE-2026-111497. Who is reachable, where Vercel, Lambda, Netlify, and Cloudflare stand, and the steps.
- GitLab CVE-2026-110264: which version to upgrade to and howGitLab 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10, and 18.11.13 fix the CVSS 10.0 RCE CVE-2026-110264. Upgrade paths by install type, Ruby, KEV status.
- LiteLLM 1.107.0 compromised on PyPI and Docker: what to dolitellm 1.107.0 and four LiteLLM Docker tags held a credential stealer on Oct 21, 2026. A 2-minute check per install path, cleanup order, keys to rotate.