Skip to content

🚨 [security] Update all of nextjs 16.1.6 β†’ 16.1.7 (patch)#19816

Open
depfu[bot] wants to merge 1 commit intomainfrom
depfu/update/pnpm/group/nextjs-16.1.7
Open

🚨 [security] Update all of nextjs 16.1.6 β†’ 16.1.7 (patch)#19816
depfu[bot] wants to merge 1 commit intomainfrom
depfu/update/pnpm/group/nextjs-16.1.7

Conversation

@depfu
Copy link
Contributor

@depfu depfu bot commented Mar 17, 2026


🚨 Your current dependencies have known security vulnerabilities 🚨

This dependency update fixes known security vulnerabilities. Please see the details below and assess their impact carefully. We recommend to merge and deploy this as soon as possible!


Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.

What changed?

✳️ eslint-config-next (16.1.6 β†’ 16.1.7)

Sorry, we couldn't find anything useful about this release.

✳️ next (16.1.6 β†’ 16.1.7) Β· Repo

Security Advisories 🚨

🚨 Next.js: null origin can bypass dev HMR websocket CSRF checks

Summary

In next dev, cross-site protection for internal websocket endpoints could treat Origin: null as a bypass case even if allowedDevOrigins is configured, allowing privacy-sensitive/opaque contexts (for example sandboxed documents) to connect unexpectedly.

Impact

If a dev server is reachable from attacker-controlled content, an attacker may be able to connect to the HMR websocket channel and interact with dev websocket traffic. This affects development mode only.
Apps without a configured allowedDevOrigins still allow connections from any origin.

Patches

Fixed by validating Origin: null through the same cross-site origin-allowance checks used for other origins.

Workarounds

If upgrade is not immediately possible:

  • Do not expose next dev to untrusted networks.
  • Block websocket upgrades to /_next/webpack-hmr when Origin is null at your proxy.

🚨 Next.js: null origin can bypass Server Actions CSRF checks

Summary

origin: null was 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 in experimental.serverActions.allowedOrigins.

Workarounds

If upgrade is not immediately possible:

  • Add CSRF tokens for sensitive Server Actions.
  • Prefer SameSite=Strict on sensitive auth cookies.
  • Do not allow 'null' in serverActions.allowedOrigins unless intentionally required and additionally protected.

🚨 Next.js: Unbounded postponed resume buffering can lead to DoS

Summary

A request containing the next-resume: 1 header (corresponding with a PPR resume request) would buffer request bodies without consistently enforcing maxPostponedStateSize in 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.ppr or cacheComponents), an attacker could send oversized next-resume POST 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:

  • Block requests containing the next-resume header, as this is never valid to be sent from an untrusted client.

🚨 Next.js: Unbounded next/image disk cache growth can exhaust storage

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.

Patches

Fixed by adding an LRU-backed disk cache with images.maximumDiskCacheSize, including eviction of least-recently-used entries when the limit is exceeded. Setting maximumDiskCacheSize: 0 disables disk caching.

Workarounds

If upgrade is not immediately possible:

  • Periodically clean .next/cache/images.
  • Reduce variant cardinality (e.g., tighten values for images.localPatterns, images.remotePatterns, and images.qualities)

🚨 Next.js: HTTP request smuggling in rewrites

Summary

When Next.js rewrites proxy traffic to an external backend, a crafted DELETE/OPTIONS request using Transfer-Encoding: chunked could 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: 0 is added only when both content-length and transfer-encoding are absent, and transfer-encoding is no longer removed in that code path.

Workarounds

If upgrade is not immediately possible:

  • Block chunked DELETE/OPTIONS requests on rewritten routes at your edge/proxy.
  • Enforce authentication/authorization on backend routes per our security guidance.

Sorry, we couldn't find anything useful about this release.


Depfu Status

Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.

All Depfu comment commands
@​depfu rebase
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu cancel merge
Cancels automatic merging of this PR
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Ignores all future updates for this dependency and closes this PR
@​depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@​depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)

@depfu depfu bot requested a review from a team as a code owner March 17, 2026 16:05
@depfu depfu bot added the depfu label Mar 17, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 17, 2026

No actionable comments were generated in the recent review. πŸŽ‰

ℹ️ Recent review info
βš™οΈ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: d779cc3f-087c-4eb1-b433-dbd4ce15b0f8

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between 276239f and 2b86c46.

β›” Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
πŸ“’ Files selected for processing (2)
  • playgrounds/nextjs/package.json
  • playgrounds/v3/package.json
🚧 Files skipped from review as they are similar to previous changes (2)
  • playgrounds/v3/package.json
  • playgrounds/nextjs/package.json

Walkthrough

This pull request updates package dependency versions in two Next.js playgrounds. It bumps the next dependency from ^16.1.6 to ^16.1.7 in both playgrounds/nextjs and playgrounds/v3. It also updates the eslint-config-next devDependency from ^16.1.6 to ^16.1.7 in both locations. No functional logic, error handling, or public/exported entity declarations were changed.

πŸš₯ Pre-merge checks | βœ… 2
βœ… Passed checks (2 passed)
Check name Status Explanation
Title check βœ… Passed The title clearly identifies this as a security patch update for Next.js from 16.1.6 to 16.1.7, which directly matches the changeset that updates both 'next' and 'eslint-config-next' dependencies.
Description check βœ… Passed The description is directly related to the changeset, explaining the security vulnerabilities fixed in the version bump and providing detailed advisory information about the Next.js 16.1.7 release.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

πŸ“ Coding Plan
  • Generate coding plan for human review comments

Comment @coderabbitai help to get the list of available commands and usage tips.

@depfu
Copy link
Contributor Author

depfu bot commented Mar 17, 2026

Sorry, but the merge failed with:

At least 1 approving review is required by reviewers with write access.

@depfu depfu bot force-pushed the depfu/update/pnpm/group/nextjs-16.1.7 branch from 276239f to 2b86c46 Compare March 18, 2026 15:00
@depfu
Copy link
Contributor Author

depfu bot commented Mar 18, 2026

Sorry, but the merge failed with:

At least 1 approving review is required by reviewers with write access.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants