Next.js version 14.2.29 introduces subtle refinements over its predecessor, 14.2.28, primarily focusing on internal dependency updates and stability improvements. Examining the dependencies, we see that @next/env and @next/swc have been incremented to match the new version, ensuring alignment across the Next.js ecosystem. The optional dependencies, which include platform-specific builds of @next/swc for optimized performance on various architectures, are also updated accordingly.
While the core functionality of Next.js remains consistent, these incremental updates likely address bug fixes, performance tweaks, and security patches. Developers should note that these kinds of patch revision updates can be valuable to assure they are running the best release. Given the sheer volume of dependencies, including tools like Webpack, Babel, PostCSS, and a wide array of testing and utility libraries, upgrading ensures access to the latest refinements and security updates within these underlying tools.
Furthermore, the "releaseDate" field indicates a more recent build, signifying that version 14.2.29 incorporates any fixes and enhancements identified after the release of 14.2.28. For developers seeking the most stable and up-to-date experience with Next.js, upgrading to version 14.2.29 is recommended. These incremental updates typically involve minimal breaking changes, making the upgrade process relatively straightforward while providing valuable improvements under the hood, and as this is the most up to date version, it may incorporate the latest changes to other dependencies and hence be more secure.
All the vulnerabilities related to the version 14.2.29 of the package
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