July 2026 Security Release

The July 2026 security release for Next.js is now available

Sebastian Silbermann ۳ دقیقه مطالعهمتن اصلی

Andrew Imm,

Josh Story,

Sebastian Silbermann

Last week we announced that Next.js would be moving to a preannounced security release model, with patches announced ahead of time so that teams can plan for them.

Updates are now available in v16.2.11 (Active LTS) and v15.5.21 (Maintenance LTS) to address these issues. Please patch your Next.js dependencies to maintain the security of your applications.

npm install [email protected]  # for 15.5
npm install [email protected]  # for 16.2

These fixes are also available in the latest Next.js 16.3 canary (

v16.3.0-canary.92

) and preview (

v16.3.0-preview.7

) releases, and will be included in

v16.3.0

once it reaches a stable release.

npm install [email protected]   # canary
npm install [email protected]   # preview

Crafted requests targeting Next.js applications using App Router with at least one Server Action can lead to excessive CPU usage. The CPU usage blocks processing of further requests in the same process, leading to Denial of Service.

Next.js applications using App Router built with Turbopack and a single entry in

config.i18n.locales

are vulnerable to a middleware/proxy bypass. Accordingly, any authentication or security checks that a middleware/proxy may perform are bypassed.

A

rewrites()

or

redirects()

rule that builds its external destination hostname from request-controlled input can be pointed at an arbitrary hostname, regardless of the rule's hostname suffix. For rewrites, this behavior enables Server-Side Request Forgery (SSRF); for redirects, Open Redirect can be achieved.

When a Server Action forwards or redirects a request, an attacker can cause the server to send that outbound request to a malicious host (Server-Side Request Forgery). This requires the attacker’s request to control Host-associated headers.

When self-hosting Next.js with the default image loader, the Image Optimization API can optimize remotely hosted images if configured (not enabled by default). If those images contain malicious content, the images can cause CPU exhaustion in the

/_next/image

endpoint.

A crafted request can lead to memory consumption on Server Actions in the Edge runtime. Next.js applications which use App Router and have at least one Server Action are affected.

In Next.js applications using App Router, Server Actions (use server) or use cache endpoint IDs can be globally disclosed. An attacker can use this for reconnaissance and as part of a broader attack chain.

A server-side

fetch

with a request body may return a cached response body from a different request to the same URL but different body. This only applies for

fetch

calls of the following shape:

fetch(new Request(init), aDifferentInit)

A server-side

fetch

with a request body may return a cached response body from a different request to the same URL but different body. This only applies when receiving request bodies which contain invalid UTF-8 characters. For example, the UTF-16 byte sequences for

삃삃

and

섄섄

in the request body would share the same cache.

We work with a talented set of researchers to secure Next.js and other open source frameworks through Vercel's Open Source Bug Bounty. Anyone interested in contributing to the security of eligible frameworks is encouraged to participate there.

Any questions or concerns regarding our security programs or vulnerability management can be sent to [email protected].

منتشرشده در

Next.js Blog

خواندن در منبع

ادامه مطالعه