fix(deps): update dependency next to v14.2.32 [security]
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| next (source) | 14.2.3 -> 14.2.32 |
GitHub Vulnerability Alerts
CVE-2024-46982
Impact
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:
- Next.js between 13.5.1 and 14.2.9
- Using pages router
- Using non-dynamic server-side rendered routes e.g.
pages/dashboard.tsxnotpages/blog/[slug].tsx
The below configurations are unaffected:
- Deployments using only app router
- Deployments on Vercel are not affected
Patches
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.
Workarounds
There are no official or recommended workarounds for this issue, we recommend that users patch to a safe version.
Credits
- Allam Rachid (zhero_)
- Henry Chen
CVE-2024-47831
Impact
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:
- The
next.config.jsfile is configured withimages.unoptimizedset totrueorimages.loaderset to a non-default value. - The Next.js application is hosted on Vercel.
Patches
This issue was fully patched in Next.js 14.2.7. We recommend that users upgrade to at least this version.
Workarounds
Ensure that the next.config.js file has either images.unoptimized, images.loader or images.loaderFile assigned.
Credits
Brandon Dahler (brandondahler), AWS Dimitrios Vlastaras
CVE-2024-51479
Impact
If a Next.js application is performing authorization in middleware based on pathname, it was possible for this authorization to be bypassed.
Patches
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.
Workarounds
There are no official workarounds for this vulnerability.
Credits
We'd like to thank tyage (GMO CyberSecurity by IERAE) for responsible disclosure of this issue.
CVE-2024-56332
Impact
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.
Patches
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.
Workarounds
There are no official workarounds for this vulnerability.
Credits
Thanks to the PackDraw team for responsibly disclosing this vulnerability.
CVE-2025-29927
Impact
It is possible to bypass authorization checks within a Next.js application, if the authorization check occurs in middleware.
Patches
- For Next.js 15.x, this issue is fixed in
15.2.3 - For Next.js 14.x, this issue is fixed in
14.2.25 - For Next.js 13.x, this issue is fixed in 13.5.9
- For Next.js 12.x, this issue is fixed in 12.3.5
- For Next.js 11.x, consult the below workaround.
Note: Next.js deployments hosted on Vercel are automatically protected against this vulnerability.
Workaround
If patching to a safe version is infeasible, we recommend that you prevent external user requests which contain the x-middleware-subrequest header from reaching your Next.js application.
Credits
- Allam Rachid (zhero;)
- Allam Yasser (inzo_)
CVE-2025-48068
Summary
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
Credit
Thanks to sapphi-red and Radman Siddiki for responsibly disclosing this issue.
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 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
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.domains or images.remotePatterns are encouraged to upgrade and verify that external image sources are strictly validated.
More details at Vercel Changelog
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-32421
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.
Release Notes
vercel/next.js (next)
v14.2.32
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix router handling when setting a location response header #82588
Credits
Huge thanks to @ztanner for helping!
v14.2.31
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix(next/image): improve and simplify detect-content-type (#82179)
- fix(next/image): fix image-optimizer.ts headers (#82178)
Credits
Huge thanks to @styfle and @ztanner for helping!
v14.2.30
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Backport
config.allowedDevOrigins(#80410) (Learn More)
Credits
Huge thanks to @ijjk and @ztanner for helping!
v14.2.29
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Only share incremental cache for edge in next start (#79389)
Credits
Huge thanks to @ijjk for helping!
v14.2.28
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix: node.js module import error when using middleware (#77945)
Credits
Huge thanks to @ztanner for helping!
v14.2.27
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix dynamic route interception not working when deployed with middleware (#64923)
Credits
Huge thanks to @ztanner for helping!
v14.2.26
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Match subrequest handling for edge and node (#77476)
v14.2.25
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary. This release contains a security patch for CVE-2025-29927.
Core Changes
- Update middleware request header (#77202)
Credits
Huge thanks to @ijjk for helping!
v14.2.24
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix: ensure lint worker errors aren't silenced (#75779)
- add additional x-middleware-set-cookie filtering (#75561 & #73482)
Credits
Huge thanks to @ztanner for helping!
v14.2.23
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- backport: force module format for virtual client-proxy (#74590)
- Backport: Use provided waitUntil for pending revalidates (#74573)
- Feature: next/image: add support for images.qualities in next.config (#74500)
Credits
Huge thanks to @styfle, @ijjk and @lubieowoce for helping!
v14.2.22
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Retry manifest file loading only in dev mode: #73900
- Ensure workers are cleaned up: #71564
- Use shared worker for lint & typecheck steps: #74154
Credits
Huge thanks to @unstubbable, @ijjk, and @ztanner for helping!
v14.2.21
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Upgrade React from
14898b6to178c267: #74115 - Fix unstable_allowDynamic when used with pnpm: #73765
Misc Changes
- chore(docs): add missing search: '' on remotePatterns: #73927
- chore(docs): update version history of next/image: #73926
Credits
Huge thanks to @unstubbable, @ztanner, and @styfle for helping!
v14.2.20
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix fetch cloning bug (#73532)
Credits
Huge thanks to @wyattjoh for helping!
v14.2.19
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
Misc Changes
- Update max tag items limit in docs (#73445)
Credits
Huge thanks to @ztanner and @ijjk for helping!
v14.2.18
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix: (third-parties) sendGTMEvent not queueing events before GTM init (#68683) (#72111)
- Ignore error pages for cache revalidate (#72412) (#72484)
Credits
Huge thanks to @huozhi and @ijjk for helping!
v14.2.17
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix: revert the bad node binary handling (#72356)
- Ensure pages/500 handles cache-control as expected (#72050) (#72110)
- fix unhandled runtime error from generateMetadata in parallel routes (#72153)
Credits
Huge thanks to @huozhi, @ztanner, and @ijjk for helping!
v14.2.16
v14.2.15
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- support breadcrumb style catch-all parallel routes #65063
- Provide non-dynamic segments to catch-all parallel routes #65233
- Fix client reference access causing metadata missing #70732
- feat(next/image): add support for decoding prop #70298
- feat(next/image): add images.localPatterns config #70529
- fix(next/image): handle undefined images.localPatterns config in images-manifest.json
- fix: Do not omit alt on getImgProps return type, ImgProps #70608
- [i18n] Routing fix #70761
Credits
Huge thanks to @ztanner, @agadzik, @huozhi, @styfle, @icyJoseph and @wyattjoh for helping!
v14.2.14
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix: clone response in first handler to prevent race (#70082) (#70649)
- Respect reexports from metadata API routes (#70508) (#70647)
- Externalize node binary modules for app router (#70646)
- Fix revalidateTag() behaviour when invoked in server components (#70446) (#70642)
- Fix prefetch bailout detection for nested loading segments (#70618)
- Add missing node modules to externals (#70382)
- Feature: next/image: add support for images.remotePatterns.search (#70302)
Credits
Huge thanks to @styfle, @ztanner, @ijjk, @huozhi and @wyattjoh for helping!
v14.2.13
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix missing cache-control on SSR app route (#70265)
- feat: add polyfill of URL.canParse for browser compatibility (#70228)
- Fix vercel og package memory leak (#70214)
- Fix startTime error on Android 9 with Chrome 74 (#67391)
Credits
Huge thanks to @raeyoung-kim, @huozhi, @devjiwonchoi, and @ijjk for helping!
v14.2.12
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- update prefetching jsdoc & documentation (#68047)
- Ensure we chunk revalidate tag requests (#70189)
- (backport) fix(eslint): allow typescript-eslint v8 (#70090)
- [ppr] Don't mark RSC requests as /_next/data requests (backport of #66249) (#70083)
Credits
Huge thanks to @alvarlagerlof, @wyattjoh, @delbaoliveira, and @ijjk for helping!
v14.2.11
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix: correct metadata url suffix (#69959)
- fix: setting assetPrefix to URL format breaks HMR (#70040)
- Update revalidateTag to batch tags in one request (#65296)
Credits
Huge thanks to @huozhi, @devjiwonchoi, and @ijjk for helping!
v14.2.10
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Remove invalid fallback revalidate value (#69990)
- Revert server action optimization (#69925)
- Add ability to customize Cache-Control (#69802)
Credits
Huge thanks to @huozhi and @ijjk for helping!
v14.2.9
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Revert "Fix esm property def in flight loader (#66990)" (#69749)
- Disable experimental.optimizeServer by default to fix failed server action (#69788)
- Fix middleware fallback: false case (#69799)
- Fix status code for /_not-found route (#64058) (#69808)
- Fix metadata prop merging (#69807)
- create-next-app: fix font file corruption when using import alias (#69806)
Credits
Huge thanks to @huozhi, @ztanner, @ijjk, and @lubieowoce for helping!
v14.2.8
What's Changed
[!NOTE]
This release is backporting bug fixes and minor improvements. It does not include all pending features/changes on canary.
Support esmExternals in app directory
- Support esm externals in app router (#65041)
- Turbopack: Allow client components from foreign code in app routes (#64751)
- Turbopack: add support for esm externals in app dir (#64918)
- other related PRs: #66990 #66727 #66286 #65519
Reading cookies set in middleware in components and actions
- initialize ALS with cookies in middleware (#65008)
- fix middleware cookie initialization (#65820)
- ensure cookies set in middleware can be read in a server action (#67924)
- fix: merged middleware cookies should preserve options (#67956)
Metadata and icons
- support facebook-specific metadata (
fb:app_id,fb:admins) in generateMetaData (#65713) - Always collect static icons for all segments (#68712)
- Fix favicon merging with customized icons (#67982)
- Warn metadataBase missing in standalone mode or non vercel deployment (#66296)
Parallel routes fixes
- fix missing stylesheets when parallel routes are present (#69507)
Draft mode and edge improvements
- fix: unstable_cache should not cache new result in draft mode (#67772)
- Add draft mode flag for multi-zone (#68997)
- Fix edge preview props are not matched with cookie (#67779)
- other related PRs: #65426, #67787, #64946, #64313, #64370
next/image fixes
- Allow external image urls with _next/image pathname to be rendered via Image component (#69586)
Server actions improvements
- optimize server actions (#66523)
- Apply optimization for unused actions (#69178)
- Improve SWC transform ID generation (#69183)
Other changes
- Ensure we match comment minify behavior between terser and swc (#68372)
- send initialCanonicalUrl in array format to prevent crawler confusion (#69509)
Create-next-app updates
- enable @typescript-eslint/recommended in create-next-app --typescript (#52845)
- Update create-next-app template CSS (#66233)
- Update
create-next-apptemplate CSS (#66043) - Update create-next-app template (#65803)
- add font antialiasing to templates (#67425)
- Move
create-next-apppublic/ assets from local folder→ remote URL (#66931) - Use classnames to set font family in Tailwind create-next-app templates (#66374)
- other related PRs: #64478, #68899, #68534, #69021, #67146, #66145
Full Changelog: https://github.com/vercel/next.js/compare/v14.2.7...v14.2.8
Huge thanks to everyone who contributed to this release: @abhi12299, @delbaoliveira, @eps1lon, @ForsakenHarmony, @huozhi, @ijjk, @JoshuaKGoldberg, @leerob, @lubieowoce, @Netail, @ronanru, @samcx, @shuding, @sokra, @stylessh, @timfuhrmann, @wbinnssmith, @wyattjoh, @ypessoa, @ztanner
v14.2.7
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Revert "chore: externalize undici for bundling" (#65727)
- Refactor internal routing headers to use request meta (#66987)
- fix(next): add cross origin in react dom preload (#67423)
- build: upgrade edge-runtime (#67565)
- GTM dataLayer parameter should take an object, not an array of strings (#66339)
- fix: properly patch lockfile against swc bindings (#66515)
- Add deployment id header for rsc payload if present (#67255)
- Update font data (#68639)
- fix i18n data pathname resolving (#68947)
- pages router: ensure x-middleware-cache is respected (#67734)
- Fix bad modRequest in flight entry manifest #68888
- Reject next image urls in image optimizer #68628
- Fix hmr assetPrefix escaping and reuse logic from other files #67983
Credits
Huge thanks to @kjugi, @huozhi, @ztanner, @SukkaW, @marlier, @Kikobeats, @syi0808, @ijjk, and @samcx for helping!
v14.2.6
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Ensure fetch cache TTL is updated properly (#69164)
v14.2.5
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- avoid merging global css in a way that leaks into other chunk groups (#67373)
- Fix server action edge redirect with middleware rewrite (#67148)
- fix(next): reject protocol-relative URLs in image optimization (#65752)
- fix(next-swc): correct path interop to filepath for wasm (#65633)
- Use addDependency to track metadata route file changes (#66714)
- Fix noindex is missing on static not-found page (#67135)
- perf: improve retrieving versionInfo on Turbo HMR (#67309)
- fix(next/image): handle invalid url (#67465)
- fix(next): initial prefetch cache not set properly with different search params (#65977)
- fix: Backport class properties fix (#67377)
- Upgrade acorn (#67592)
Misc
- Log stdio for pull-turbo-cache script (#66759)
- Ensure turbo is setup when building in docker (#66804)
Credits
Huge thanks to @devjiwonchoi, @ijjk, @emmerich, @huozhi, @kdy1, @kwonoj, @styfle, and @sokra for helping!
v14.2.4
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix: ensure route handlers properly track dynamic access (#66446)
- fix NextRequest proxy in edge runtime (#66551)
- Fix next/dynamic with babel and src dir (#65177)
- Use vercel deployment url for metadataBase fallbacks (#65089)
- fix(next/image): detect react@19 for fetchPriority prop (#65235)
- Fix loading navigation with metadata and prefetch (#66447)
- prevent duplicate RSC fetch when action redirects (#66620)
- ensure router cache updates reference the latest cache values (#66681)
- Prevent append of trailing slash in cases where path ends with a file extension (#66636)
- Fix inconsistency with 404 getStaticProps cache-control (#66674)
- Use addDependency to track metadata route file changes (#66714)
- Add timeout/retry handling for fetch cache (#66652)
- fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)
Credits
Huge thanks to @ztanner, @ijjk, @wbinnssmith, @huozhi, and @lubieowoce for helping!
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.