My personal website made with Next.js 14 (App Router). Features blog posts, gear list, dark theme and more. Tailwind CSS, Radix, Framer Motion, and Vercel.
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.tsx not pages/blog/[slug].tsx
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.
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.js file is configured with images.unoptimized set to true or images.loader set 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.
This PR contains the following updates:
14.1.4
->14.2.10
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:
pages/dashboard.tsx
notpages/blog/[slug].tsx
The below configurations are unaffected:
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
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:
next.config.js
file is configured withimages.unoptimized
set totrue
orimages.loader
set to a non-default value.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 eitherimages.unoptimized
,images.loader
orimages.loaderFile
assigned.Credits
Brandon Dahler (brandondahler), AWS Dimitrios Vlastaras
Release Notes
vercel/next.js (next)
### [`v14.2.10`](https://redirect.github.com/vercel/next.js/compare/v14.2.9...v14.2.10) [Compare Source](https://redirect.github.com/vercel/next.js/compare/v14.2.9...v14.2.10) ### [`v14.2.9`](https://redirect.github.com/vercel/next.js/compare/v14.2.8...v14.2.9) [Compare Source](https://redirect.github.com/vercel/next.js/compare/v14.2.8...v14.2.9) ### [`v14.2.8`](https://redirect.github.com/vercel/next.js/compare/v14.2.7...v14.2.8) [Compare Source](https://redirect.github.com/vercel/next.js/compare/v14.2.7...v14.2.8) ### [`v14.2.7`](https://redirect.github.com/vercel/next.js/compare/v14.2.6...v14.2.7) [Compare Source](https://redirect.github.com/vercel/next.js/compare/v14.2.6...v14.2.7) ### [`v14.2.6`](https://redirect.github.com/vercel/next.js/compare/v14.2.5...v14.2.6) [Compare Source](https://redirect.github.com/vercel/next.js/compare/v14.2.5...v14.2.6) ### [`v14.2.5`](https://redirect.github.com/vercel/next.js/compare/v14.2.4...v14.2.5) [Compare Source](https://redirect.github.com/vercel/next.js/compare/v14.2.4...v14.2.5) ### [`v14.2.4`](https://redirect.github.com/vercel/next.js/releases/tag/v14.2.4) [Compare Source](https://redirect.github.com/vercel/next.js/compare/v14.2.3...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](https://redirect.github.com/vercel/next.js/issues/66446)) - fix NextRequest proxy in edge runtime ([#66551](https://redirect.github.com/vercel/next.js/issues/66551)) - Fix next/dynamic with babel and src dir ([#65177](https://redirect.github.com/vercel/next.js/issues/65177)) - Use vercel deployment url for metadataBase fallbacks ([#65089](https://redirect.github.com/vercel/next.js/issues/65089)) - fix(next/image): detect react@19 for fetchPriority prop ([#65235](https://redirect.github.com/vercel/next.js/issues/65235)) - Fix loading navigation with metadata and prefetch ([#66447](https://redirect.github.com/vercel/next.js/issues/66447)) - prevent duplicate RSC fetch when action redirects ([#66620](https://redirect.github.com/vercel/next.js/issues/66620)) - ensure router cache updates reference the latest cache values ([#66681](https://redirect.github.com/vercel/next.js/issues/66681)) - Prevent append of trailing slash in cases where path ends with a file extension ([#66636](https://redirect.github.com/vercel/next.js/issues/66636)) - Fix inconsistency with 404 getStaticProps cache-control ([#66674](https://redirect.github.com/vercel/next.js/issues/66674)) - Use addDependency to track metadata route file changes ([#66714](https://redirect.github.com/vercel/next.js/issues/66714)) - Add timeout/retry handling for fetch cache ([#66652](https://redirect.github.com/vercel/next.js/issues/66652)) - fix: app-router prefetch crash when an invalid URL is passed to Link ([#66755](https://redirect.github.com/vercel/next.js/issues/66755)) ##### Credits Huge thanks to [@ztanner](https://redirect.github.com/ztanner), [@ijjk](https://redirect.github.com/ijjk), [@wbinnssmith](https://redirect.github.com/wbinnssmith), [@huozhi](https://redirect.github.com/huozhi), and [@lubieowoce](https://redirect.github.com/lubieowoce) for helping! ### [`v14.2.3`](https://redirect.github.com/vercel/next.js/compare/v14.2.2...v14.2.3) [Compare Source](https://redirect.github.com/vercel/next.js/compare/v14.2.2...v14.2.3) ### [`v14.2.2`](https://redirect.github.com/vercel/next.js/compare/v14.2.1...c850e4a69a8ff62502753e2ff15bbabcea94b556) [Compare Source](https://redirect.github.com/vercel/next.js/compare/v14.2.1...v14.2.2) ### [`v14.2.1`](https://redirect.github.com/vercel/next.js/compare/v14.2.0...v14.2.1) [Compare Source](https://redirect.github.com/vercel/next.js/compare/v14.2.0...v14.2.1) ### [`v14.2.0`](https://redirect.github.com/vercel/next.js/compare/v14.1.4...774563f2b994ae9686b8ec68b506a6ef3d7c9756) [Compare Source](https://redirect.github.com/vercel/next.js/compare/v14.1.4...v14.2.0)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.
This PR was generated by Mend Renovate. View the repository job log.