Next.js 14.0.0 introduces several noteworthy changes compared to the previous stable version, 13.5.11. A primary focus seems to be on upgrading internal dependencies, particularly within the @next/swc ecosystem, ensuring compatibility and leveraging the latest features of the Rust-based compiler. The core @next/swc package jumps from version 13.5.11 to 14.0.0, while platform-specific binaries like @next/swc-darwin-x64 and @next/swc-linux-x64-gnu also receive version bumps to 14.0.0, aligning them with the main Next.js release. Additionally, @next/env, @next/polyfill-module, @next/polyfill-nomodule, @next/react-dev-overlay, and @next/react-refresh-utils are aligning to version 14.0.0. The release date is newer for Next.js 14 (2023-10-26) than for Next.js 13.5.11 (2025-03-27), thus it is older than the previous stable version, and this means that it is probably a mistake in the data.
Beyond these core updates, the package also sees updates to many devDependencies: @babel libraries, and @playwright/test are among the libraries updated to a later version. The updated @vercel/turbopack-ecmascript-runtime is also worth mentioning, showcasing the evolution of Next.js's internal tooling.
While the core functionalities and peer dependencies such as react, react-dom and sass remain consistent (developer experience will be consistent), the broad sweep of upgrades and the updated releaseDate suggest that developers can expect performance improvements, bug fixes, and access to the latest advancements in the Next.js ecosystem for the core packages.
All the vulnerabilities related to the version 14.0.0 of the package
Next.js Server-Side Request Forgery in Server Actions
A Server-Side Request Forgery (SSRF) vulnerability was identified in Next.js Server Actions by security researchers at Assetnote. If the Host
header is modified, and the below conditions are also met, an attacker may be able to make requests that appear to be originating from the Next.js application server itself.
<14.1.1
) is running in a self-hosted* manner./
.* Many hosting providers (including Vercel) route requests based on the Host header, so we do not believe that this vulnerability affects any Next.js applications where routing is done in this manner.
This vulnerability was patched in #62561 and fixed in Next.js 14.1.1
.
There are no official workarounds for this vulnerability. We recommend upgrading to Next.js 14.1.1
.
Vercel and the Next.js team thank Assetnote for responsibly disclosing this issue to us, and for working with us to verify the fix. Thanks to:
Adam Kues - Assetnote Shubham Shah - Assetnote
Denial of Service condition in Next.js image optimization
The image optimization feature of Next.js contained a vulnerability which allowed for a potential Denial of Service (DoS) condition which could lead to excessive CPU consumption.
Not affected:
next.config.js
file is configured with images.unoptimized
set to true
or images.loader
set to a non-default value.This issue was fully patched in Next.js 14.2.7
. We recommend that users upgrade to at least this version.
Ensure that the next.config.js
file has either images.unoptimized
, images.loader
or images.loaderFile
assigned.
Brandon Dahler (brandondahler), AWS Dimitrios Vlastaras
Next.js Cache Poisoning
By sending a crafted HTTP request, it is possible to poison the cache of a non-dynamic server-side rendered route in the pages router (this does not affect the app router). When this crafted request is sent it could coerce Next.js to cache a route that is meant to not be cached and send a Cache-Control: s-maxage=1, stale-while-revalidate
header which some upstream CDNs may cache as well.
To be potentially affected all of the following must apply:
pages/dashboard.tsx
not pages/blog/[slug].tsx
The below configurations are unaffected:
This vulnerability was resolved in Next.js v13.5.7, v14.2.10, and later. We recommend upgrading regardless of whether you can reproduce the issue or not.
There are no official or recommended workarounds for this issue, we recommend that users patch to a safe version.
Next.js authorization bypass vulnerability
If a Next.js application is performing authorization in middleware based on pathname, it was possible for this authorization to be bypassed.
This issue was patched in Next.js 14.2.15
and later.
If your Next.js application is hosted on Vercel, this vulnerability has been automatically mitigated, regardless of Next.js version.
There are no official workarounds for this vulnerability.
We'd like to thank tyage (GMO CyberSecurity by IERAE) for responsible disclosure of this issue.
Next.js Allows a Denial of Service (DoS) with Server Actions
A Denial of Service (DoS) attack allows attackers to construct requests that leaves requests to Server Actions hanging until the hosting provider cancels the function execution.
Note: Next.js server is idle during that time and only keeps the connection open. CPU and memory footprint are low during that time.
Deployments without any protection against long running Server Action invocations are especially vulnerable. Hosting providers like Vercel or Netlify set a default maximum duration on function execution to reduce the risk of excessive billing.
This is the same issue as if the incoming HTTP request has an invalid Content-Length
header or never closes. If the host has no other mitigations to those then this vulnerability is novel.
This vulnerability affects only Next.js deployments using Server Actions.
This vulnerability was resolved in Next.js 14.2.21, 15.1.2, and 13.5.8. We recommend that users upgrade to a safe version.
There are no official workarounds for this vulnerability.
Thanks to the PackDraw team for responsibly disclosing this vulnerability.
Next.js Race Condition to Cache Poisoning
Summary
We received a responsible disclosure from Allam Rachid (zhero) for a low-severity race-condition vulnerability in Next.js. This issue only affects the Pages Router under certain misconfigurations, causing normal endpoints to serve pageProps
data instead of standard HTML.
Credit
Thank you to Allam Rachid (zhero) for the responsible disclosure. This research was rewarded as part of our bug bounty program.
Authorization Bypass in Next.js Middleware
It is possible to bypass authorization checks within a Next.js application, if the authorization check occurs in middleware.
15.2.3
14.2.25
13.5.9
12.3.5
Note: Next.js deployments hosted on Vercel are automatically protected against this vulnerability.
If patching to a safe version is infeasible, it is recommend that you prevent external user requests which contain the x-middleware-subrequest
header from reaching your Next.js application.
Information exposure in Next.js dev server due to lack of origin verification
A low-severity vulnerability in Next.js has been fixed in version 15.2.2. This issue may have allowed limited source code exposure when the dev server was running with the App Router enabled. The vulnerability only affects local development environments and requires the user to visit a malicious webpage while npm run dev
is active.
Because the mitigation is potentially a breaking change for some development setups, to opt-in to the fix, you must configure allowedDevOrigins
in your next config after upgrading to a patched version. Learn more.
Learn more: https://vercel.com/changelog/cve-2025-48068
Thanks to sapphi-red and Radman Siddiki for responsibly disclosing this issue.
Next.js Affected by Cache Key Confusion for Image Optimization API Routes
A vulnerability in Next.js Image Optimization has been fixed in v15.4.5 and v14.2.31. When images returned from API routes vary based on request headers (such as Cookie
or Authorization
), these responses could be incorrectly cached and served to unauthorized users due to a cache key confusion bug.
All users are encouraged to upgrade if they use API routes to serve images that depend on request headers and have image optimization enabled.
More details at Vercel Changelog
Next.js Content Injection Vulnerability for Image Optimization
A vulnerability in Next.js Image Optimization has been fixed in v15.4.5 and v14.2.31. The issue allowed attacker-controlled external image sources to trigger file downloads with arbitrary content and filenames under specific configurations. This behavior could be abused for phishing or malicious file delivery.
All users relying on images.domains
or images.remotePatterns
are encouraged to upgrade and verify that external image sources are strictly validated.
More details at Vercel Changelog
Next.js Improper Middleware Redirect Handling Leads to SSRF
A vulnerability in Next.js Middleware has been fixed in v14.2.32 and v15.4.7. The issue occurred when request headers were directly passed into NextResponse.next()
. In self-hosted applications, this could allow Server-Side Request Forgery (SSRF) if certain sensitive headers from the incoming request were reflected back into the response.
All users implementing custom middleware logic in self-hosted environments are strongly encouraged to upgrade and verify correct usage of the next()
function.
More details at Vercel Changelog