DevelopmentPlaybook11 min readPublished July 25, 2026

Two vendor security drops, one week · Next.js shipped Jul 21 · Node.js due Jul 27

Next.js & Node.js Patch Week: What to Update Before Monday

Next.js shipped the first release of its new pre-announced monthly security program on July 21, 2026 — nine CVEs, four rated High. Six days later, on Monday July 27, Node.js ships its own pre-announced HIGH-severity fixes across 22.x, 24.x, and 26.x. We could not find coverage putting both drops on one ops calendar, so here is that checklist to run before Monday.

DA
Digital Applied Team
Senior strategists · Published Jul 25, 2026
PublishedJul 25, 2026
Read time11 min
CVEs patched9
Next.js CVEs patched
9
4 High · 5 Medium
shipped Jul 21
Highest CVSS in the set
8.3/10
middleware bypass · SSRF
Patched Next.js versions
16.2.11
plus 15.5.21 (Maintenance LTS)
Node.js lines due Jul 27
3
22.x · 24.x · 26.x — all HIGH

The July 2026 Next.js security release shipped on July 21 — the first drop of Vercel's new pre-announced, roughly-monthly security release program — patching nine CVEs, four of them rated High, in Next.js 16.2.11 and 15.5.21. Six days later, on Monday July 27, Node.js ships its own pre-announced HIGH-severity security release across all three active lines: 22.x, 24.x, and 26.x.

Every piece of coverage we found treats these as two separate stories on two separate blogs for two separate audiences. But if you run a JavaScript stack in production — and if you deploy Next.js, you run both — they land in the same seven-day window, and they call for one combined response, not two. Notably, in the searches we ran this week, no mainstream tech outlet appears to have covered the Next.js release at all: teams that don't watch vendor blogs directly will not hear about this from the news.

This guide puts both drops on a single timeline, walks the nine Next.js CVEs with their exact affected ranges, decodes what a Node.js "HIGH severity" pre-announcement has historically turned into, and closes with a concrete before-Monday checklist. Every CVE detail below is sourced from the official advisories.

Key takeaways
  1. 01
    Next.js shipped its first scheduled security release.Announced July 13, originally targeted for July 20, shipped July 21 — nine CVEs (4 High, 5 Medium) patched in 16.2.11 (Active LTS) and 15.5.21 (Maintenance LTS), with fixes back-ported into 16.3 canary and preview builds.
  2. 02
    The worst issues are DoS, middleware bypass, and SSRF.CVE-2026-64641 (CVSS 8.2) enables CPU-exhaustion DoS via Server Actions; CVE-2026-64642 (CVSS 8.3) bypasses middleware auth checks in a specific Turbopack + single-locale i18n config; CVE-2026-64645 (CVSS 8.3) enables SSRF through request-controlled rewrites().
  3. 03
    Several of the nine are configuration-specific, not default-on.The middleware bypass needs the legacy middleware.ts convention with a single-locale i18n config on Turbopack; the SVG image-DoS needs self-hosting with the default loader optimizing remote images. Check config before panicking — or dismissing.
  4. 04
    Node.js pre-announced HIGH fixes for Monday, July 27.Only the affected lines (22.x, 24.x, 26.x) and the HIGH ceiling are public — zero CVE details exist yet. Precedent from June: a HIGH pre-announcement turned into 12 CVEs, 2 of them High. Plan the window now, read details Monday.
  5. 05
    Security patching just became a calendar item.Pre-announced severity counts a week ahead, a published monthly cadence, and an emergency lane for actively-exploited issues. The teams that benefit are the ones that turn the calendar into a standing ops routine — that is what this playbook is for.

01The New ProgramA pre-announced security cadence — and a one-day slip.

On July 13, 2026, Vercel announced a formal security release program for Next.js: roughly monthly, pre-announced on the Next.js blog, with the expected timeline and the highest anticipated severity disclosed ahead of each drop. The July 13 announcement pre-disclosed the shape of this first release a week before any patch existed publicly — four high-severity and five medium-severity vulnerabilities, no CVE numbers, no technical detail. We covered the announcement itself in our earlier look at the program's July 13 announcement; this post covers what actually shipped.

"Today we are moving to a formal security release program, with updates that teams can plan around."— Andrew Imm & Josh Story, Next.js team, July 13, 2026

The program's first test came before its first patch: the release originally targeted Monday, July 20, and slipped one day. An update banner added to the announcement post on July 20 reads: "July 20, 2026: The July security release originally targeted for July 20 is now expected on July 21, 2026." The GitHub Security Advisories and Netlify's changelog entry both carry July 21 dates, confirming the actual ship date.

A one-day slip on a program's first-ever scheduled release could read as a stumble. We'd argue the opposite: the slip is the kind of event a pre-announced program is designed to make survivable. Teams that had scheduled a Monday patch window got a dated, public notice the same day — nobody's on-call rotation broke, and the release still landed within 24 hours of a target set a week in advance. Under the old ad-hoc model, there was no target to miss and no notice to give.

Vercel's stated motivation for the program is worth a paragraph of context. The announcement cites the industry-wide rise of LLM-assisted vulnerability discovery — including Mozilla's April 2026 disclosure of 271 Firefox issues surfaced in a single release by an early version of Anthropic's Claude Mythos Preview — and says Vercel runs the same class of tooling against Next.js via its own open-source scanner, deepsec, alongside an expanded bug bounty. Those figures are Mozilla's and Vercel's own framing rather than something we've independently verified, but the direction is consistent with what we're seeing across the ecosystem — AI-driven security scanning tools like Claude Code's are finding more, faster, which means more CVEs per release and a stronger case for a predictable patch rhythm.

02One CalendarTwo vendors, one patch week.

The table below is the artifact this post is built around: both vendors' July security events on a single ops calendar. Next.js's pre-announced program is brand-new — this is its first release. Node.js's July 27 pre-announcement, by contrast, is routine practice on a cadence the project has run for years. Two different programs, one week, one checklist.

Timeline of the July 2026 JavaScript patch week, combining the Next.js security release program events and the Node.js July 27 pre-announced security release, with what was known at each date and the recommended team action.
DateVendorEventWhat became knownAction for teams
Mon Jul 13Next.jsProgram announced4 High + 5 Medium CVEs pre-disclosed; release targeted for Jul 20; no technical detailsSchedule a patch window
Mon Jul 20Next.jsSlip noticeDated update banner: release now expected Jul 21Move the window one day
Tue Jul 21Next.jsRelease shipped9 CVEs published with GHSA advisories; 16.2.11 and 15.5.21 released; fixes back-ported to 16.3 canary/previewUpgrade and redeploy
Tue Jul 21Node.jsPre-announcementSecurity release scheduled for Jul 27 "or shortly after"; 22.x, 24.x, 26.x all flagged HIGH; no CVE detailsSchedule a second window
Sat Jul 25TodayNext.js details fully public; Node.js details still sealedRun the checklist in section 07
Mon Jul 27Node.jsRelease scheduledCVE numbers, descriptions, and patched versions publish on release dayRead advisories, patch runtimes
Why this table exists
Every source we found covers these as unrelated stories — the Next.js release on framework blogs, the Node.js pre-announcement on runtime channels. If you operate a production JavaScript stack, they are one event: a seven-day window (Jul 21–27) in which both your framework and your runtime need a patch pass.

03High SeverityThe four HIGH CVEs, decoded.

The four high-severity issues cluster into three families: denial of service against App Router request processing, server-side request forgery through request-controlled routing, and a middleware bypass that skips the auth checks the middleware performs. Affected version ranges differ per CVE — check each against your lockfile rather than assuming one range covers all nine.

CVE-2026-64641
Server Actions DoS
HIGH · CVSS 8.2 · ≥13.0.0 <15.5.21 and ≥16.0.0 <16.2.11

Crafted requests to App Router apps using Server Actions drive excessive CPU usage (CWE-834, Excessive Iteration) that blocks further request processing in the same process. Broad range — every 13.x, 14.x, and unpatched 15.x/16.x App Router app with Server Actions is in scope.

GHSA-m99w-x7hq-7vfj
CVE-2026-64642
Middleware bypass
HIGH · CVSS 8.3 · ≥16.0.0 <16.2.11

App Router apps built with Turbopack that use the legacy middleware.ts convention with a single entry in config.i18n.locales can have their middleware skipped entirely — any auth or security check it performs is bypassed. Webpack builds and the newer proxy.ts convention are unaffected.

GHSA-6gpp-xcg3-4w24
CVE-2026-64645
SSRF via rewrites
HIGH · CVSS 8.3 · ≥12.0.0 <15.5.21 and ≥16.0.0 <16.2.11

When a rewrites() or redirects() rule builds its external destination hostname from request-controlled input, the destination can be pointed at an arbitrary hostname regardless of the rule's hostname suffix — SSRF via rewrites, open redirect via redirects. The widest affected range of the nine, reaching back to Next.js 12.

GHSA-p9j2-gv94-2wf4
CVE-2026-64649
SSRF on custom servers
HIGH · Server Actions on custom servers

When a Server Action forwards or redirects a request on a custom-server deployment, an attacker who controls Host-associated headers can redirect the outbound request to a malicious host. Primarily relevant to self-managed deployments running a custom server in front of Next.js.

nextjs.org/blog/july-2026-security-release

The middleware bypass deserves the most careful read. It is the joint-highest CVSS in the release, and "your auth middleware silently doesn't run" is about as bad as a framework bug gets — but it only fires in a specific configuration: Turbopack builds, the legacy middleware.ts convention, and a single-locale i18n config, all at once. Do not generalize it to "Next.js middleware is broken." Equally, do not skip the patch because your current config looks safe: configs drift, and the fix costs one version bump.

04Medium SeverityThe five MEDIUM CVEs — mostly conditional.

The medium set is a mix of resource-exhaustion, information disclosure, and two related cache-confusion bugs. Several apply only under specific configurations — the table notes when a CVE is conditional rather than default-on.

The five medium-severity CVEs in the July 2026 Next.js security release, with weakness class, the configuration required to be exposed, and notes from the official advisories.
CVEWeakness classExposed whenNotes
Resource exhaustion
CVE-2026-64644Image Optimization DoS via SVGSelf-hosting with the default image loader configured to optimize remotely-hosted images — not on by defaultMalicious image content can exhaust CPU in the /_next/image endpoint
CVE-2026-64646Unbounded Server Action payload (Edge runtime)Any App Router app with at least one Server Action running under the Edge runtimeCrafted requests drive memory consumption
Information disclosure
CVE-2026-64643Server Function endpoint-ID disclosureApps using use server / use cache functionsInternal endpoint IDs globally disclosed, unauthenticated — reconnaissance value in a broader attack chain
Cache confusion
CVE-2026-64648Response-body cache confusionServer-side fetch with a request body, in fetch(new Request(init), aDifferentInit) call shapesA cached response body from a different request to the same URL with a different body can be returned
CVE-2026-64647Cache confusion — invalid UTF-8 bodiesRequest bodies containing invalid UTF-8 byte sequencesRelated bug; the advisory's examples show byte sequences that collide in the cache key

The two cache-confusion bugs are the subtle ones. Serving one user a response body generated for a different request is the failure mode that turns into a data-exposure incident rather than an outage — if your server components POST to internal APIs with per-user request bodies, treat these two as your priority among the mediums even though the severity label says otherwise.

05ExposureWho is actually exposed — and who has no patch.

Two versions carry the fixes, and one large population gets nothing. Following the precedent set by the May 2026 coordinated release, there are no back-patches for Next.js 13.x or 14.x — apps on those majors are told to upgrade directly to a patched 15.5.x or 16.2.x.

Active LTS
The primary patch target
16.2.11

All nine CVEs fixed. The same fixes are back-ported into the 16.3 canary (v16.3.0-canary.92) and preview (v16.3.0-preview.7) builds, so pre-release users are covered too.

npm i next@16.2.11
Maintenance LTS
For teams still on 15.x
15.5.21

Receives the fixes applicable to the 15.x line — including the Server Actions DoS and the rewrites/redirects SSRF, whose ranges reach back to 13.0.0 and 12.0.0 respectively.

npm i next@15.5.21
13.x / 14.x
No back-patch path
0patches

Same as May 2026: older majors get no security back-ports. Two of the four HIGH CVEs affect these versions with no fix available on them — the only remediation is a major-version upgrade.

Upgrade required

If you're in that third column, the patch-week framing changes: this is no longer a version bump, it's a migration project with a security deadline attached. Our 15-to-16 migration playbook covers the mechanics, and what's new in Next.js 16.2 makes the case that the destination is worth it beyond the CVE math. Every month you stay on an unpatchable major, the gap between you and the fix compounds.

Hosting platform matters too, but less than you might hope. Netlify assessed the same nine CVEs and stated that its edge/autoscaling architecture inherently mitigates some of the DoS and image-optimization exploits — but not all nine ("Netlify- hosted sites are not affected by three of these"). It also recommended manually purging public deploy previews and branch deploys that remain vulnerable until automatic cleanup runs — a reminder that preview environments are production attack surface even when the main site is patched. Whatever your platform absorbs, the fix that covers all nine is the version bump.

06Node.js · Jul 27Node.js lands Monday — what "HIGH" usually means.

On July 21 — the same day Next.js shipped — Node.js pre-announced a security release for Monday, July 27, 2026, "or shortly after." What's public is deliberately minimal, per standard Node.js practice: all three active release lines (22.x, 24.x, 26.x) are affected, the maximum severity is HIGH, and nothing else — no CVE numbers, no vulnerability descriptions, no patched version numbers. Anything more specific you read before Monday is speculation.

One more line from the pre-announcement deserves attention: Node.js's own convention states that "End-of-Life versions are always affected when a security release occurs." If you are still running Node 18 or earlier anywhere, assume it is vulnerable to whatever publishes Monday — with no patch coming.

What we can do before Monday is calibrate. The June 18, 2026 Node.js release — covered in our June Node.js security release guide — followed the same pre-announcement pattern, and turned into 12 CVEs, only 2 of them rated High: a WebCrypto process-crash bug and a TLS hostname-verification bypass, patched as v22.23.0, v24.17.0, and v26.3.1. Serious, patch-worthy, not wormable. That is the base rate to hold in mind — not a prediction.

CVE volume per release · recent JavaScript security drops

Sources: Node.js blog (Jun 18, 2026 release) · Next.js blog + GitHub Security Advisories (Jul 21, 2026)
Node.js · Jun 18, 202612 CVEs · 2 High — the precedent
12 CVEs
Next.js · Jul 21, 20269 CVEs · 4 High — this week's release
9 CVEs
Node.js Jun 2026 · HIGH subsetWebCrypto crash + TLS hostname bypass
2 High
Next.js Jul 2026 · HIGH subsetDoS ×2 · middleware bypass · SSRF ×2 families
4 High
Expectation-setting table comparing the June 2026 Node.js security release and the July 2026 Next.js security release against the still-undisclosed July 27 Node.js release.
ReleaseCVEs disclosedHigh countWhat "High" meant in practiceStatus as of Jul 25
Node.js · Jun 18, 2026122WebCrypto subtle.encrypt() process crash; TLS hostname-verification bypassShipped — v22.23.0 / v24.17.0 / v26.3.1
Next.js · Jul 21, 202694Server Actions DoS; middleware bypass; SSRF via rewrites/redirects; SSRF on custom serversShipped — 16.2.11 / 15.5.21
Node.js · Jul 27, 2026UnknownNot disclosed (max severity HIGH; 22.x, 24.x, 26.x affected)Unknown — details publish on release dayPre-announced, not yet shipped

07Ops ChecklistThe before-Monday checklist.

Four postures, four action sets. Find your row, run it this weekend — the goal is to walk into Monday with the Next.js side fully closed, so the Node.js drop is the only thing on the board.

Managed hosting
Vercel / Netlify-hosted Next.js

Bump next to 16.2.11 (or 15.5.21), redeploy every production project, then purge or redeploy public preview and branch deployments — Netlify explicitly recommends purging previews that remain vulnerable until automatic cleanup runs. Platform mitigations cover some DoS vectors, not all nine CVEs.

Patch + purge previews
Self-hosted
Self-hosted or custom-server Next.js

Highest exposure: the custom-server SSRF (CVE-2026-64649) and the SVG image-DoS (CVE-2026-64644, if your default loader optimizes remote images) apply here specifically. Patch Next.js, audit rewrites()/redirects() for request-controlled destinations, and check whether middleware.ts + single-locale i18n + Turbopack matches your build.

Patch + audit config
Legacy majors
Still on Next.js 13.x / 14.x

No back-patch exists and two HIGH CVEs affect you. Scope the upgrade to 15.5.21 or 16.2.11 as a project this week, and mitigate meanwhile: audit rewrites/redirects for request-controlled hostnames and rate-limit Server Action endpoints.

Start the migration
Runtime
Every Node.js deployment

Inventory Node versions across services, containers, CI images, and lambdas today. Confirm each is on a current 22.x/24.x/26.x so Monday is a minor bump, not a major migration. Flag anything on EOL majors (18.x and earlier) — Node's convention says EOL versions are always affected, and they get no patch.

Inventory now, patch Monday

This is our own stack — Digital Applied builds and operates Next.js applications on exactly these versions, so this checklist is the one we're running ourselves this weekend. If your team doesn't have a standing owner for dependency security windows, that's the real gap the new cadence exposes: our web development team bakes monthly patch windows into every retainer, and our AI transformation engagements increasingly include AI-assisted dependency and vulnerability scanning as standing infrastructure rather than an annual audit.

Looking one quarter out: if the monthly cadence holds, expect the interesting question to shift from "did you hear about the patch" to "how fast is your patch pipeline." A pre-announced program removes the information asymmetry — from here on, attackers and defenders learn the severity count on the same day, a week before details. The teams that convert that week of notice into a scheduled, rehearsed window will spend less time exposed than the teams that still treat every advisory as a surprise. Predictability is only an advantage if you use it.

08ConclusionPatching becomes a calendar item.

The shape of JavaScript security, July 2026

Two drops, one week, one routine — patch Next.js now, patch Node.js Monday.

The July 2026 patch week is the first time the JavaScript stack's two most important release trains have run pre-announced security drops in the same seven-day window. Next.js shipped nine CVEs on July 21 — four High, headlined by a middleware bypass and a rewrites-based SSRF, patched in 16.2.11 and 15.5.21. Node.js ships Monday, July 27, with HIGH severity confirmed across 22.x, 24.x, and 26.x and every detail sealed until release day.

The honest read on the Next.js release: several of the nine CVEs are conditional, two of the four Highs require specific configurations, and the one-day slip was communicated with a dated public notice. That is what a functioning security program looks like in its first month. The equally honest read on your own stack: conditional today does not mean conditional after the next refactor, and the patch costs one version bump.

The larger shift is the one worth internalizing. With AI-assisted discovery pushing vulnerability volume up across the industry, ad-hoc patching was already breaking down; the pre-announced cadence is the ecosystem's answer. Security patching is now a calendar item — a monthly rhythm you can staff, rehearse, and measure. Treat it like one, and this week's two drops are an hour of scheduled work. Ignore it, and you're betting your uptime on nobody aiming a published CVE at an unpatched stack.

Ship on a patched stack

Monthly security releases only help teams with a monthly patch routine.

Our team builds, operates, and secures production Next.js applications — dependency patch windows, upgrade migrations off unpatchable majors, and AI-assisted vulnerability scanning built into every engagement.

Free consultationExpert guidanceTailored solutions
What we work on

Next.js engineering engagements

  • Security patch windows as a standing monthly routine
  • 13.x/14.x → 16.2 migration projects with a security deadline
  • rewrites/redirects and middleware configuration audits
  • Node.js runtime inventory across services, CI, and lambdas
  • AI-assisted dependency and vulnerability scanning
FAQ · July 2026 patch week

Patch-week questions, answered.

The release shipped on July 21, 2026 as the first drop of Vercel's new pre-announced, roughly-monthly security release program (announced July 13). It patches exactly nine CVEs — four rated High, five Medium — in Next.js 16.2.11 (Active LTS) and 15.5.21 (Maintenance LTS), with the same fixes back-ported into the 16.3 canary (v16.3.0-canary.92) and preview (v16.3.0-preview.7) builds. The High-severity set covers a Server Actions denial-of-service bug (CVE-2026-64641, CVSS 8.2), a middleware bypass in a specific Turbopack + single-locale i18n configuration (CVE-2026-64642, CVSS 8.3), an SSRF through request-controlled rewrites/redirects destinations (CVE-2026-64645, CVSS 8.3), and an SSRF affecting Server Actions on custom servers (CVE-2026-64649).
Related dispatches

Continue exploring the JavaScript stack.