-
Notifications
You must be signed in to change notification settings - Fork 2.4k
chore(deps): update dependency next to v15.4.7 [security] #7543
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for this important security update! I've reviewed the changes and this PR correctly updates Next.js from 15.2.5 to 15.4.7 to address three critical CVEs (CVE-2025-57822, CVE-2025-55173, and CVE-2025-57752).
The lockfile changes look good and the update also includes the related sharp dependency bump from 0.33.5 to 0.34.3.
| next: | ||
| specifier: ^15.2.5 | ||
| version: 15.2.5([email protected]([email protected]))([email protected]) | ||
| version: 15.4.7([email protected]([email protected]))([email protected]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good to see the project isn't using or configuration, which means it wasn't directly vulnerable to CVE-2025-55173. However, since the project does use Next.js Image component in footer.tsx, testimonials.tsx, and nav-bar.tsx, it would be good to verify image optimization continues working correctly after this update.
pnpm-lock.yaml
Outdated
| [email protected]: {} | ||
|
|
||
| sharp@0.33.5: | ||
| sharp@0.34.3: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The sharp update from 0.33.5 to 0.34.3 is a significant version bump that comes with the Next.js update. Could you run a quick smoke test on both web apps (web-roo-code and web-evals) after merging to ensure image processing works as expected?
bf05a13 to
4407523
Compare
4407523 to
6fc5ccf
Compare
6fc5ccf to
8f30bef
Compare
a41d95c to
5c916be
Compare
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
fa052e7 to
7d96ac5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I found some notes that should be addressed for accuracy and post-upgrade verification.
|
|
||
| next@15.2.5: | ||
| resolution: {integrity: sha512-LlqS8ljc7RWR3riUwxB5+14v7ULAa5EuLUyarD/sFgXPd6Hmmscg8DXcu9hDdh5atybrIDVBrFhjDpRIQo/4pQ==} | ||
| next@15.4.7: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P2 - Security follow-up: After upgrading to [email protected], please audit middleware to ensure request headers are not passed directly to NextResponse.next() and verify images.domains/remotePatterns remain strictly scoped, per the fixed CVEs.
pnpm-lock.yaml
Outdated
|
|
||
| sharp@0.33.5: | ||
| resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} | ||
| sharp@0.34.4: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P3 - Accuracy: Lockfile pins sharp to 0.34.4 (not 0.34.3 as mentioned in an earlier review). No action required; noting the exact version aligned with next 15.4.7.
a6e2a7a to
96b7835
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I found a couple of small, actionable follow-ups tied to this security upgrade.
|
|
||
| next@15.2.5: | ||
| resolution: {integrity: sha512-LlqS8ljc7RWR3riUwxB5+14v7ULAa5EuLUyarD/sFgXPd6Hmmscg8DXcu9hDdh5atybrIDVBrFhjDpRIQo/4pQ==} | ||
| next@15.4.7: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[P3] Post-upgrade verification for the CVEs fixed in Next 15.4.7: please double-check that no custom middleware forwards request headers directly into NextResponse.next(), and that images.domains/remotePatterns are restricted. If API routes serve images varying by auth/cookie headers, ensure caching is correct or disabled. These aren’t code issues in this diff, but they’re important to validate after the bump.
pnpm-lock.yaml
Outdated
|
|
||
| sharp@0.33.5: | ||
| resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} | ||
| sharp@0.34.4: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[P2] sharp upgraded to 0.34.4 along with new prebuilt libvips variants. To prevent native module mismatch on CI/local, consider clearing caches (pnpm store prune) and ensuring runners use a compatible libc. This avoids runtime 'Cannot find module .../sharp.node' errors after the lockfile-only bump.
96b7835 to
f636dd4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I found some issues that need attention around post-upgrade verification for the security advisories.
|
|
||
| next@15.2.5: | ||
| resolution: {integrity: sha512-LlqS8ljc7RWR3riUwxB5+14v7ULAa5EuLUyarD/sFgXPd6Hmmscg8DXcu9hDdh5atybrIDVBrFhjDpRIQo/4pQ==} | ||
| next@15.4.7: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P2 — Post-upgrade security verification: With [email protected], audit middleware to ensure you never pass incoming request headers directly into NextResponse.next(). This mitigates CVE-2025-57822 for self-hosted middleware.
pnpm-lock.yaml
Outdated
|
|
||
| sharp@0.33.5: | ||
| resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} | ||
| sharp@0.34.4: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P2 — Image optimization hardening: Next >=15.4.5 fixes CVE-2025-55173 and CVE-2025-57752. Verify images.domains/remotePatterns are strictly scoped, and avoid caching header-dependent image responses behind the image optimizer (or ensure vary on relevant headers).
f636dd4 to
3ccc453
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewing my own lockfile changes again - at this point I'm basically a dependency update archaeologist excavating layers of my past selves' work.
3ccc453 to
33665f2
Compare
Code Review SummaryReview Status: ✅ Complete - No issues found OverviewThis PR updates Next.js from 15.2.5 to 15.4.7 to address three security vulnerabilities:
Analysis
Findings✅ No new issues identified This is a clean security update with no code changes or regressions introduced. Reviewed by Roo Code PR Reviewer Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues. |
33665f2 to
e77f992
Compare
This PR contains the following updates:
15.2.5->15.4.7GitHub 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-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.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: #78067[email protected]: #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: #80104require()calls: #80056/.well-known/appspecific/com.chrome.devtools.jsonendpoint in dev: #80260Infinityexpiration for implicit tags: #80387config.allowedDevOrigins(#80410) (Learn More)"use cache": #80463404for unknown server actions: #80613next start": #80666--debug-prerenderoption fornext build: #80667197d6a04-20250424to79d9aed7-20250620: [#79477Configuration
📅 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.