fix(deps): update dependency next [security] - autoclosed#8508
Closed
renovate[bot] wants to merge 1 commit intolatestfrom
Closed
fix(deps): update dependency next [security] - autoclosed#8508renovate[bot] wants to merge 1 commit intolatestfrom
renovate[bot] wants to merge 1 commit intolatestfrom
Conversation
b9a743d to
7eb11e6
Compare
7eb11e6 to
c72512e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
15.3.8→15.4.1016.0.10→16.1.716.1.6→16.1.715.4.10→15.5.1415.5.9→15.5.1415.3.8→15.5.14GitHub Vulnerability Alerts
CVE-2025-57822
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
CVE-2025-59471
A DoS vulnerability exists in self-hosted Next.js applications that have
remotePatternsconfigured for the Image Optimizer. The image optimization endpoint (/_next/image) loads external images entirely into memory without enforcing a maximum size limit, allowing an attacker to cause out-of-memory conditions by requesting optimization of arbitrarily large images. This vulnerability requires thatremotePatternsis configured to allow image optimization from external domains and that the attacker can serve or control a large image on an allowed domain.Strongly consider upgrading to 15.5.10 and 16.1.5 to reduce risk and prevent availability issues in Next applications.
CVE-2025-59472
A denial of service vulnerability exists in Next.js versions with Partial Prerendering (PPR) enabled when running in minimal mode. The PPR resume endpoint accepts unauthenticated POST requests with the
Next-Resume: 1header and processes attacker-controlled postponed state data. Two closely related vulnerabilities allow an attacker to crash the server process through memory exhaustion:Unbounded request body buffering: The server buffers the entire POST request body into memory using
Buffer.concat()without enforcing any size limit, allowing arbitrarily large payloads to exhaust available memory.Unbounded decompression (zipbomb): The resume data cache is decompressed using
inflateSync()without limiting the decompressed output size. A small compressed payload can expand to hundreds of megabytes or gigabytes, causing memory exhaustion.Both attack vectors result in a fatal V8 out-of-memory error (
FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory) causing the Node.js process to terminate. The zipbomb variant is particularly dangerous as it can bypass reverse proxy request size limits while still causing large memory allocation on the server.To be affected, an application must run with
experimental.ppr: trueorcacheComponents: trueconfigured along with the NEXT_PRIVATE_MINIMAL_MODE=1 environment variable.Strongly consider upgrading to 15.6.0-canary.61 or 16.1.5 to reduce risk and prevent availability issues in Next applications.
GHSA-h25m-26qc-wcjf
A vulnerability affects certain React Server Components packages for versions 19.0.x, 19.1.x, and 19.2.x and frameworks that use the affected packages, including Next.js 13.x, 14.x, 15.x, and 16.x using the App Router. The issue is tracked upstream as CVE-2026-23864.
A specially crafted HTTP request can be sent to any App Router Server Function endpoint that, when deserialized, may trigger excessive CPU usage, out-of-memory exceptions, or server crashes. This can result in denial of service in unpatched environments.
CVE-2026-27977
Summary
In
next dev, cross-site protections for internal development endpoints could treatOrigin: nullas a bypass case even whenallowedDevOriginsis configured. This could allow privacy-sensitive or opaque browser contexts, such as sandboxed documents, to access privileged internal dev-server functionality unexpectedly.Impact
If a developer visits attacker-controlled content while running an affected
next devserver withallowedDevOriginsconfigured, attacker-controlled browser code may be able to connect to internal development endpoints and interact with sensitive dev-server functionality that should have remained blocked.This issue affects development mode only. It does not affect
next start, and it does not expose internal debugging functionality to the network by default.Patches
Fixed by validating
Origin: nullthrough the same cross-site origin-allowance checks used for other origins on internal development endpoints.Workarounds
If upgrade is not immediately possible:
next devto untrusted networks.allowedDevOrigins, reject requests and websocket upgrades withOrigin: nullfor internal dev endpoints at your proxy.CVE-2026-27978
Summary
origin: nullwas treated as a "missing" origin during Server Action CSRF validation. As a result, requests from opaque contexts (such as sandboxed iframes) could bypass origin verification instead of being validated as cross-origin requests.Impact
An attacker could induce a victim browser to submit Server Actions from a sandboxed context, potentially executing state-changing actions with victim credentials (CSRF).
Patches
Fixed by treating
'null'as an explicit origin value and enforcing host/origin checks unless'null'is explicitly allowlisted inexperimental.serverActions.allowedOrigins.Workarounds
If upgrade is not immediately possible:
SameSite=Stricton sensitive auth cookies.'null'inserverActions.allowedOriginsunless intentionally required and additionally protected.CVE-2026-27979
Summary
A request containing the
next-resume: 1header (corresponding with a PPR resume request) would buffer request bodies without consistently enforcingmaxPostponedStateSizein certain setups. The previous mitigation protected minimal-mode deployments, but equivalent non-minimal deployments remained vulnerable to the same unbounded postponed resume-body buffering behavior.Impact
In applications using the App Router with Partial Prerendering capability enabled (via
experimental.pprorcacheComponents), an attacker could send oversizednext-resumePOST payloads that were buffered without consistent size enforcement in non-minimal deployments, causing excessive memory usage and potential denial of service.Patches
Fixed by enforcing size limits across all postponed-body buffering paths and erroring when limits are exceeded.
Workarounds
If upgrade is not immediately possible:
next-resumeheader, as this is never valid to be sent from an untrusted client.CVE-2026-29057
Summary
When Next.js rewrites proxy traffic to an external backend, a crafted
DELETE/OPTIONSrequest usingTransfer-Encoding: chunkedcould trigger request boundary disagreement between the proxy and backend. This could allow request smuggling through rewritten routes.Impact
An attacker could smuggle a second request to unintended backend routes (for example, internal/admin endpoints), bypassing assumptions that only the configured rewrite destination/path is reachable. This does not impact applications hosted on providers that handle rewrites at the CDN level, such as Vercel.
Patches
The vulnerability originated in an upstream library vendored by Next.js. It is fixed by updating that dependency’s behavior so
content-length: 0is added only when bothcontent-lengthandtransfer-encodingare absent, andtransfer-encodingis no longer removed in that code path.Workarounds
If upgrade is not immediately possible:
DELETE/OPTIONSrequests on rewritten routes at your edge/proxy.CVE-2026-27980
Summary
The default Next.js image optimization disk cache (
/_next/image) did not have a configurable upper bound, allowing unbounded cache growth.Impact
An attacker could generate many unique image-optimization variants and exhaust disk space, causing denial of service. Note that this does not impact platforms that have their own image optimization capabilities, such as Vercel.
Patches
Fixed by adding an LRU-backed disk cache with
images.maximumDiskCacheSize, including eviction of least-recently-used entries when the limit is exceeded. SettingmaximumDiskCacheSize: 0disables disk caching.Workarounds
If upgrade is not immediately possible:
.next/cache/images.images.localPatterns,images.remotePatterns, andimages.qualities)CVE-2025-55173
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.domainsorimages.remotePatternsare encouraged to upgrade and verify that external image sources are strictly validated.More details at Vercel Changelog
CVE-2025-57752
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
CookieorAuthorization), 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
Release Notes
vercel/next.js (next)
v15.4.10Compare Source
v15.4.9Compare Source
v15.4.8Compare Source
v15.4.7Compare Source
Core Changes
Credits
Huge thanks to @ztanner for helping!
v15.4.6Compare Source
Core Changes
_errorpage'sreq.urlcan be overwritten to dynamic param on minimal mode (#82347)?dplto fonts in/_next/static/media(#82384)Credits
Huge thanks to @devjiwonchoi, @ijjk, and @styfle for helping!
v15.4.5Compare Source
Core Changes
Credits
Huge thanks to @ijjk, @sokra, and @styfle for helping!
v15.4.4Compare Source
Core Changes
Credits
Huge thanks to @bgw @mischnic @huozhi @lukesandberg and @ijjk for helping!
v15.4.3Compare Source
Core Changes
Credits
Huge thanks to @mischnic for helping!
v15.4.2Compare Source
Core Changes
Credits
Huge thanks to @huozhi, @ijjk, and @ztanner for helping!
v15.4.1Compare Source
Core Changes
+,-or.: #779323fbfb9ba-20250409toc44e4a25-20250409: #78031c44e4a25-20250409to1d6c8168-20250411: #78067image-size@1.2.1: #78149strictNullChecksin test utils: #78142eslint-plugin-next: #781091d6c8168-20250411to39cad7af-20250411: #7815239cad7af-20250411tob04254fd-20250415: #78253@next/mdx: Use stable turbopack config options: #78261b04254fd-20250415to4a36d3ea-20250416: #78297next start --turbopack: #783844a36d3ea-20250416tobc6184dd-20250417: #78322experimental.turbois set: #77998bc6184dd-20250417to914319ae-20250423: #78468914319ae-20250423to197d6a04-20250424: #78516error.nameto label: #78198prerenderfunction for"use cache"with Dynamic IO: #78382node:prefixed in ESM emit of standalone server.js: #78624widthtransition logic: #78635@swc/counter: #78674197d6a04-20250424to5dc00d6b-20250428: #786405dc00d6b-20250428to408d055a-20250430: #78715draft.isEnabledsetter from exotic draftMode wrappers: #77972408d055a-20250430to197d6a04-20250424: #78834@swc/corenpm package tov1.11.24: #77668extensionregex in@next/mdx: #78734max-old-space-size: #78712runInCleanSnapshotto Work Store: #78930--no-manglingfor"use cache"functions: #78993"use cache"timeout errors from being caught in userland code: #78998LinkPropsin emitted declarations: #78773define-env-plugin.tstodefine-env.ts: #79224CacheHandler.getmethod: #79213onPostponeto determine if segment prefetch is partial: #79299pprwhendynamicIOis enabled: #79302app-render.tsx: #79303experimental.enablePrerenderSourceMapsis enabled: #79109@changesets/changelog-githubfor changelog format: #79040compiler.defineServerfor server-only constants: #79225@changesets/changelog-githubfor changelog format: #79040compiler.defineServerfor server-only constants: #79225someFunc(): void) type for client boundary warnings: #79144"use cache": #78882"use cache": #78882clientInstrumentationHooktype: #79701tscruns inpackages/nextwithout having to build first: #79782tscin watch mode duringpnpm dev: #79785vary(#79939)subissuesfromIssue: #79988taskrtasks: #80020@ts-expect-error: #80065get*Stackimplementation: #79789<option>in Preferences dropdowns: #80025require()instead ofnext/dist/if possible: #80054isRecoverableErrorimplementation: #80003wrapRequestHandler: #80055getSquashedHydrationErrorDetailsimplementation: #80046onErrorin /pages: #79982server-inserted-metadatamodule: #80143regionsproperty to the Functions Config Manifest file: #80104Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.