Description
Next.js versions from 16.3.0 to 16.3.7 warm `use cache` handlers using `next/root-params` and can leak their return value to pages with different root params. With Cache Components enabled (cacheComponents: true), a 'use cache' function that calls another 'use cache' function that reads a root param can be keyed incorrectly when the inner call is served from an existing entry: the enclosing function's cache key then omits that root param. The enclosing entry is written once and reused for all root param values, so a response for one root param value can serve content produced for a different value — whether the page is prerendered at build time or at runtime, or rendered dynamically. Shared cache headers let downstream caches redistribute the content further.

What values are leaked cannot be attacker controlled. Which value's content is served depends only on which invocation wrote the entry first.

This has been patched in 16.3.8.
Published: 2026-10-01
Score: 6.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Information Disclosure
Action: Patch Now
AI Analysis

Impact

The flaw is in Next.js 16.3.x where warm use cache handlers that access root parameters can be keyed incorrectly when nested cache calls read root params. The outer cache entry is written once and reused for all root param values, causing a response generated for one root param value to be served under a different root param. This leads to unintended data disclosure between pages that share the same cache entry. The weakness is a form of insecure caching (CWE‑524), and the affected content may be part of any page rendered at build time, runtime, or dynamically. While an attacker cannot control which value is leaked, the fact that content generated for an arbitrary root parameter can be served to another visitor satisfies an information‑disclosure condition.

Affected Systems

Affected versions are Vercel’s Next.js 16.3.0 through 16.3.7. The vulnerability is triggered when Cache Components is enabled (cacheComponents: true). Versions up to 16.3.7 are vulnerable; the issue was fixed in v16.3.8.

Risk and Exploitability

The CVSS score of 6.3 indicates a medium severity, and the EPSS score is not available, so the exploitation probability is unknown but the issue is not listed in CISA’s KEV catalog. The attack requires a normal request to a page that uses a warm use cache handler; the inner call reads a root param and the outer handler is incorrectly cached. Because the root param value that ends up being served depends on which execution created the cache entry first, the attacker cannot direct the disclosure, but the flaw can still leak content from other root param values. Thus, the vulnerability is mainly a data‑leak scenario that may affect multiple users once a cache entry has been created.

Generated by OpenCVE AI on October 1, 2026 at 16:51 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to Next.js 16.3.8 or later to resolve the caching bug.
  • If an upgrade is not immediately possible, disable Cache Components by setting cacheComponents: false in next.config.js to prevent the incorrect cache key from being generated.
  • Verify that any custom cache functions you write do not depend on root parameters, or otherwise adjust the key so that root parameters are explicitly included.

Generated by OpenCVE AI on October 1, 2026 at 16:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-h694-7cp9-m8p3 next.js cache leak across root param values in nested 'use cache' functions
History

Mon, 05 Oct 2026 15:15:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:vercel:next.js:*:*:*:*:*:node.js:*:*
Metrics cvssV3_1

{'score': 3.7, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N'}

cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N'}


Fri, 02 Oct 2026 09:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 02 Oct 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 3.7, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N'}

threat_severity

Low


Thu, 01 Oct 2026 17:45:00 +0000

Type Values Removed Values Added
First Time appeared Vercel
Vercel next.js
Vendors & Products Vercel
Vercel next.js

Thu, 01 Oct 2026 15:00:00 +0000

Type Values Removed Values Added
Description Next.js versions from 16.3.0 to 16.3.7 warm `use cache` handlers using `next/root-params` and can leak their return value to pages with different root params. With Cache Components enabled (cacheComponents: true), a 'use cache' function that calls another 'use cache' function that reads a root param can be keyed incorrectly when the inner call is served from an existing entry: the enclosing function's cache key then omits that root param. The enclosing entry is written once and reused for all root param values, so a response for one root param value can serve content produced for a different value — whether the page is prerendered at build time or at runtime, or rendered dynamically. Shared cache headers let downstream caches redistribute the content further. What values are leaked cannot be attacker controlled. Which value's content is served depends only on which invocation wrote the entry first. This has been patched in 16.3.8.
Title next.js cache leak on warm `use cache` handlers accessing root param
Weaknesses CWE-524
References
Metrics cvssV4_0

{'score': 6.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-01T16:09:53.178Z

Reserved: 2026-09-29T20:46:08.335Z

Link: CVE-2026-103004

cve-icon Vulnrichment

Updated: 2026-10-01T16:09:12.543Z

cve-icon NVD

Status : Analyzed

Published: 2026-10-01T15:17:25.877

Modified: 2026-10-05T15:01:42.313

Link: CVE-2026-103004

cve-icon Redhat

Severity : Low

Publid Date: 2026-10-01T14:50:27Z

Links: CVE-2026-103004 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-01T17:30:10Z

Weaknesses
  • CWE-524

    Use of Cache Containing Sensitive Information