Skip to content

👷 Update dependency next to v16.2.6 [SECURITY]#4552

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/npm-next-vulnerability
Open

👷 Update dependency next to v16.2.6 [SECURITY]#4552
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/npm-next-vulnerability

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Apr 30, 2026

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
next (source) 16.1.716.2.6 age adoption passing confidence
next (source) 16.2.416.2.6 age adoption passing confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Next.js has a Denial of Service with Server Components

GHSA-q4gf-8mx6-v5v3

More information

Details

A vulnerability affects certain React Server Components packages for versions 19.x and frameworks that use the affected packages, including Next.js 13.x, 14.x, 15.x, and 16.x using the App Router. The issue is tracked upstream as CVE-2026-23869. You can read more about this advisory our this changelog.

A specially crafted HTTP request can be sent to any App Router Server Function endpoint that, when deserialized, may trigger excessive CPU usage. This can result in denial of service in unpatched environments.

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Next.js Vulnerable to Denial of Service with Server Components

GHSA-8h8q-6873-q5fj

More information

Details

A vulnerability affects certain React Server Components packages for versions 19.x and frameworks that use the affected packages, including Next.js 13.x, 14.x, 15.x, and 16.x using the App Router. The issue is tracked upstream as CVE-2026-23870.

A specially crafted HTTP request can be sent to any App Router Server Function endpoint that, when deserialized, may trigger excessive CPU usage. This can result in denial of service in unpatched environments.

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Next.js has a Middleware / Proxy bypass in Pages Router applications using i18n

CVE-2026-44573 / GHSA-36qx-fr4f-26g5

More information

Details

Impact

Applications using the Pages Router with i18n configured and middleware/proxy-based authorization can allow unauthorized access to protected page data through locale-less /_next/data/<buildId>/<page>.json requests. In affected configurations, middleware does not run for the unprefixed data route, allowing an attacker to retrieve SSR JSON for protected pages without passing the intended authorization checks.

Fix

The matcher logic was updated to perform the same match as it would on a non-i18n data route.

Workarounds

If you cannot upgrade immediately, enforce authorization in the page's server-side data path instead of relying solely on middleware.

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Next.js vulnerable to server-side request forgery in applications using WebSocket upgrades

CVE-2026-44578 / GHSA-c4j6-fc7j-m34r

More information

Details

Impact

Self-hosted applications using the built-in Node.js server can be vulnerable to server-side request forgery through crafted WebSocket upgrade requests. An attacker can cause the server to proxy requests to arbitrary internal or external destinations, which may expose internal services or cloud metadata endpoints. Vercel-hosted deployments are not affected.

Fix

We now apply the same safety checks to WebSocket upgrade handling that already existed for normal HTTP requests, so upgrade requests are only proxied when routing has explicitly marked them as safe external rewrites.

Workarounds

If you cannot upgrade immediately, do not expose the origin server directly to untrusted networks. If WebSocket upgrades are not required, block them at your reverse proxy or load balancer, and restrict origin egress to internal networks and metadata services where possible.

Severity

  • CVSS Score: 8.6 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Next.js has a Middleware / Proxy bypass through dynamic route parameter injection

CVE-2026-44574 / GHSA-492v-c6pp-mqqv

More information

Details

Impact

Applications that rely on middleware to protect dynamic routes can be vulnerable to authorization bypass. In affected deployments, specially crafted query parameters can alter the dynamic route value seen by the page while leaving the visible path unchanged, which can allow protected content to be rendered without passing the expected middleware check.

Fix

We now only honor internal route-parameter normalization in trusted routing flows and ignore externally supplied parameter encodings that should never have been accepted from ordinary requests.

Workarounds

If you cannot upgrade immediately, enforce authorization in route or page logic instead of relying solely on middleware path matching.

Severity

  • CVSS Score: 8.1 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Next.js has cross-site scripting in beforeInteractive scripts with untrusted input

CVE-2026-44580 / GHSA-gx5p-jg67-6x7h

More information

Details

Impact

Applications that use beforeInteractive scripts together with untrusted content can be vulnerable to cross-site scripting. In affected versions, serialized script content was not escaped safely before being embedded into the document, which could allow attacker-controlled input to break out of the intended script context and execute arbitrary JavaScript in a visitor's browser.

Fix

We now HTML-escape serialized beforeInteractive script content before embedding it into the page, preventing attacker-controlled content from breaking out of the inline script boundary.

Workarounds

If you cannot upgrade immediately, do not pass untrusted data into beforeInteractive scripts. If that pattern is unavoidable, sanitize or escape the content before embedding it.

Severity

  • CVSS Score: 6.1 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Next.js has a Middleware / Proxy bypass in App Router applications via segment-prefetch routes

CVE-2026-44575 / GHSA-267c-6grr-h53f

More information

Details

Impact

App Router applications that rely on middleware or proxy-based checks for authorization can allow unauthorized access through transport-specific route variants used for segment prefetching. In affected configurations, specially crafted .rsc and segment-prefetch URLs can resolve to the same page without being matched by the intended middleware rule, which can allow protected content to be reached without the expected authorization check.

Fix

We now include App Router transport variants when generating middleware matchers, so middleware protections are applied consistently to those requests as well as to the normal page URL.

Workarounds

If you cannot upgrade immediately, enforce authorization in the underlying route or page logic instead of relying solely on middleware.

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Next.js vulnerable to cache poisoning in React Server Component responses

CVE-2026-44576 / GHSA-wfc6-r584-vfw7

More information

Details

Impact

Applications using React Server Components can be vulnerable to cache poisoning when shared caches do not correctly partition response variants. Under affected conditions, an attacker can cause an RSC response to be served from the original URL and poison shared cache entries so later visitors receive component payloads instead of the expected HTML.

Fix

We now validate and interpret RSC request headers consistently across request classification and rendering, and we enforce the intended cache-busting behavior so RSC payloads are not unexpectedly served from the original URL.

Workarounds

If you cannot upgrade immediately, ensure your CDN or reverse proxy keys on the relevant RSC request headers and honors Vary, or disable shared caching for affected App Router and RSC responses.

Severity

  • CVSS Score: 5.4 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:L

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Next.js vulnerable to cross-site scripting in App Router applications using CSP nonces

CVE-2026-44581 / GHSA-ffhc-5mcf-pf4q

More information

Details

Impact

App Router applications that rely on CSP nonces can be vulnerable to stored cross-site scripting when deployed behind shared caches. In affected versions, malformed nonce values derived from request headers could be reflected into rendered HTML in an unsafe way, allowing an attacker to poison cached responses and cause script execution for later visitors.

Fix

We now reject or ignore malformed nonce values before they are embedded into HTML and apply stricter nonce sanitization so request-derived nonce data cannot break out of the intended attribute context.

Workarounds

If you cannot upgrade immediately, strip inbound Content-Security-Policy request headers from untrusted traffic.

Severity

  • CVSS Score: 4.7 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Next.js vulnerable to Denial of Service via connection exhaustion in applications using Cache Components

CVE-2026-44579 / GHSA-mg66-mrh9-m8jx

More information

Details

Impact

Applications using Partial Prerendering through the Cache Components feature can be vulnerable to connection exhaustion through crafted POST requests to a server action. In affected configurations, a malicious request can trigger a request-body handling deadlock that leaves connections open for an extended period, consuming file descriptors and server capacity until legitimate users are denied service.

Fix

We now treat the header used for resuming Partial Prerendered requests as an internal-only header and strip it from untrusted incoming requests. This header should never be accepted directly from external clients.

Workarounds

If you cannot upgrade immediately, block requests that would be handled by Next.js if they contain the Next-Resume header at the edge.

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Next.js vulnerable to cache poisoning via collisions in React Server Component cache-busting

CVE-2026-44582 / GHSA-vfv6-92ff-j949

More information

Details

Impact

React Server Component responses can be vulnerable to cache poisoning in deployments that rely on shared caches with insufficient response partitioning. In affected conditions, collisions in the _rsc cache-busting value can allow an attacker to poison cache entries so users receive the wrong response variant for a given URL.

Fix

We strengthened the _rsc cache-busting mechanism to make practical collisions significantly harder and to better separate response variants that should not share cache entries.

Workarounds

If you cannot upgrade immediately, ensure intermediary caches correctly honor Vary for RSC-related request headers, or disable shared caching for affected RSC responses until you can deploy a patched release.

Severity

  • CVSS Score: 3.7 / 10 (Low)
  • Vector String: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Next.js has a Denial of Service in the Image Optimization API

CVE-2026-44577 / GHSA-h64f-5h5j-jqjh

More information

Details

Impact

When self-hosting Next.js with the default image loader, the Image Optimization API fetches local images entirely into memory without enforcing a maximum size limit. An attacker could cause out-of-memory conditions by requesting large local assets from the /_next/image endpoint that match the images.localPatterns configuration (by default, all patterns are allowed).

  • If you are using images.localPatterns, only the patterns in that array are impacted.
  • If you are using images.unoptimized: true, you are NOT impacted.
  • If you are using images.loader: 'custom', you are NOT impacted.
  • If you are using Vercel, you are NOT impacted.
Fix

We now apply response size limits consistently to internal image fetches, not just external ones, and fail oversized responses before they can exhaust process memory.

This can be adjusted using the images.maximumResponseBody configuration.

Workarounds

If you cannot upgrade immediately, avoid routing large local assets through /_next/image, disable image optimization for large or untrusted local files, or block image optimization access to those assets at the edge.

You can disable using the images.localPatterns: [] configuration. This will still allow fetching remote images (which is not impacted).

Severity

  • CVSS Score: 5.9 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Next.js has a Middleware / Proxy bypass in App Router applications via segment-prefetch routes - Incomplete Fix Follow-Up

CVE-2026-45109 / GHSA-26hh-7cqf-hhc6

More information

Details

Impact

It was found that the fix addressing CVE-2026-44575 did not apply to middleware.ts with Turbopack. Refer to CVE-2026-44575 for further details.

References

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Next.js's Middleware / Proxy redirects can be cache-poisoned

CVE-2026-44572 / GHSA-3g8h-86w9-wvmq

More information

Details

Impact

Next.js uses the x-nextjs-data request header for internal data requests. On affected versions, an external client could send this header on a normal request to a path handled by middleware that returns a redirect.

When that happened, the middleware/proxy could treat the request as a data request and replace the standard Location redirect header with the internal x-nextjs-redirect header. Browsers do not follow x-nextjs-redirect, so the response became an unusable redirect for normal clients.

If the application was deployed behind a CDN or reverse proxy that caches 3xx responses without varying on this header, a single attacker request could poison the cached redirect response for the affected path. Subsequent visitors could then receive a cached redirect response without a Location header, causing a denial of service for that redirect path until the cache entry expired or was purged.

Affected scenarios

This affects applications that:

  • use middleware or proxy redirects
  • are deployed behind a caching CDN or reverse proxy
  • allow 3xx responses on those paths to be cached without differentiating internal data requests from normal requests
Fix

The fix stops trusting x-nextjs-data by itself for middleware redirect handling. A request is now treated as an internal data request only when it is validated as such by internal routing state, preserving legitimate data-request redirect behavior while preventing external header injection from changing normal redirect responses.

Workarounds

Before upgrading, users can reduce risk by:

  • configuring the CDN or reverse proxy to vary its cache key on x-nextjs-data for affected responses

Severity

  • CVSS Score: 3.7 / 10 (Low)
  • Vector String: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

vercel/next.js (next)

v16.2.6

Compare Source

v16.2.5

Compare Source

v16.2.4

Compare Source

v16.2.3

Compare Source

v16.2.2

Compare Source

v16.2.1

Compare Source

v16.2.0

Compare Source


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • ""
  • 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 these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot requested a review from a team as a code owner April 30, 2026 15:17
@renovate renovate Bot added the dependencies Pull requests that update a dependency file label Apr 30, 2026
@cit-pr-commenter-54b7da
Copy link
Copy Markdown

cit-pr-commenter-54b7da Bot commented Apr 30, 2026

Bundles Sizes Evolution

📦 Bundle Name Base Size Local Size 𝚫 𝚫% Status
Rum 179.56 KiB 179.56 KiB 0 B 0.00%
Rum Profiler 6.04 KiB 6.04 KiB 0 B 0.00%
Rum Recorder 27.03 KiB 27.03 KiB 0 B 0.00%
Logs 56.69 KiB 56.69 KiB 0 B 0.00%
Rum Slim 135.41 KiB 135.41 KiB 0 B 0.00%
Worker 23.63 KiB 23.63 KiB 0 B 0.00%
🚀 CPU Performance
Action Name Base CPU Time (ms) Local CPU Time (ms) 𝚫%
RUM - add global context 0.005 0.0041 -18.00%
RUM - add action 0.014133333333333333 0.0129 -8.73%
RUM - add error 0.013566666666666666 0.0128 -5.65%
RUM - add timing 0.0028333333333333335 0.0032 +12.94%
RUM - start view 0.0131 0.0142 +8.40%
RUM - start/stop session replay recording 0.0007333333333333333 0.001 +36.36%
Logs - log message 0.014933333333333333 0.0165 +10.49%
🧠 Memory Performance
Action Name Base Memory Consumption Local Memory Consumption 𝚫
RUM - add global context 31.23 KiB 32.02 KiB +810 B
RUM - add action 54.86 KiB 54.81 KiB -54 B
RUM - add timing 32.96 KiB 32.87 KiB -95 B
RUM - add error 60.66 KiB 61.27 KiB +624 B
RUM - start/stop session replay recording 32.15 KiB 31.98 KiB -174 B
RUM - start view 483.79 KiB 485.27 KiB +1.47 KiB
Logs - log message 48.88 KiB 48.98 KiB +95 B

🔗 RealWorld

@datadog-prod-us1-4
Copy link
Copy Markdown

datadog-prod-us1-4 Bot commented Apr 30, 2026

Tests

Fix all issues with BitsAI or with Cursor

⚠️ Warnings

🧪 4 Tests failed

base plugin: nextjs app router › router › should normalize dynamic routes and preserve real URLs and referrers from plugins/nextjsPlugin.scenario.ts   View in Datadog   (Fix with Cursor)
basePluginRouterTests.ts:36:27 should normalize dynamic routes and preserve real URLs and referrers

[chromium] › plugins/basePluginRouterTests.ts:36:27 › base plugin: nextjs app router › router › should normalize dynamic routes and preserve real URLs and referrers 

    Test timeout of 30000ms exceeded.

    Error: page.evaluate: Target page, context or browser has been closed

       at ../lib/framework/waitForRequests.ts:15

...
base plugin: nextjs app router › router › should not create a new view when query params change from plugins/nextjsPlugin.scenario.ts   View in Datadog   (Fix with Cursor)
basePluginRouterTests.ts:96:27 should not create a new view when query params change

[chromium] › plugins/basePluginRouterTests.ts:96:27 › base plugin: nextjs app router › router › should not create a new view when query params change 

    Test timeout of 30000ms exceeded.

    Error: page.evaluate: Target page, context or browser has been closed

       at ../lib/framework/waitForRequests.ts:15

...
base plugin: nextjs app router › router › should track navigations between different concrete URLs of the same dynamic route from plugins/nextjsPlugin.scenario.ts   View in Datadog   (Fix with Cursor)
basePluginRouterTests.ts:118:21 should track navigations between different concrete URLs of the same dynamic route

[chromium] › plugins/basePluginRouterTests.ts:118:21 › base plugin: nextjs app router › router › should track navigations between different concrete URLs of the same dynamic route 

    Test timeout of 30000ms exceeded.

    Error: page.evaluate: Target page, context or browser has been closed

       at ../lib/framework/waitForRequests.ts:15

...
base plugin: nextjs app router › router › should track SPA navigation with loading_time from plugins/nextjsPlugin.scenario.ts   View in Datadog   (Fix with Cursor)
basePluginRouterTests.ts:74:27 should track SPA navigation with loading_time

[chromium] › plugins/basePluginRouterTests.ts:74:27 › base plugin: nextjs app router › router › should track SPA navigation with loading_time 

    Test timeout of 30000ms exceeded.

    Error: page.evaluate: Target page, context or browser has been closed

       at ../lib/framework/waitForRequests.ts:15

...
View all

ℹ️ Info

No other issues found (see more)

❄️ No new flaky tests detected

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 76.69% (-0.01%)

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 2c1ef09 | Docs | Datadog PR Page | Give us feedback!

@bcaudan
Copy link
Copy Markdown
Collaborator

bcaudan commented Apr 30, 2026

I have done some investigation on this one in #4375 but did not go through as I am not so familiar with the topic.
@BeltranBulbarellaDD as you may have more insight on that, it could be worth a look to see if the e2e failures are only related to our test implementation or if there is more to it.

@renovate renovate Bot force-pushed the renovate/npm-next-vulnerability branch 3 times, most recently from 613eedc to 7671a30 Compare May 12, 2026 02:09
@renovate renovate Bot changed the title 👷 Update dependency next to v16.2.3 [SECURITY] 👷 Update dependency next to v16.2.5 [SECURITY] May 12, 2026
@renovate renovate Bot force-pushed the renovate/npm-next-vulnerability branch from 7671a30 to 38b45ac Compare May 12, 2026 05:54
@renovate renovate Bot changed the title 👷 Update dependency next to v16.2.5 [SECURITY] 👷 Update dependency next to v16.2.6 [SECURITY] May 12, 2026
@renovate renovate Bot force-pushed the renovate/npm-next-vulnerability branch from 38b45ac to 2c1ef09 Compare May 12, 2026 09:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant