Skip to main content

Next.js EUVDEUVD-2026-90872

| CVE-2026-103004 MEDIUM
Use of Cache Containing Sensitive Information (CWE-524)
2026-10-01 GitHub_M
6.3
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Request page with root param A
  2. Delivery
    Outer 'use cache' entry written omitting root param
  3. Exploit
    Request page with root param B
  4. Execution
    Cached A-content served for B
  5. Impact
    Shared cache headers redistribute via CDN

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V3 - Web Frontend Security Cache-Control for sensitive pages
Exploitation Conditions

Exploitation requires the opt-in Cache Components feature enabled (cacheComponents: true) on Next.js 16.3.0 through 16.3.7, AND an application structure where a 'use cache' function calls another 'use cache' function that reads a value from next/root-params, AND the app differentiates content by root param values (e.g. multi-tenant, multi-locale, or multi-region routing). The leak is not attacker-controllable: which root-param value's content gets served depends solely on which invocation populated the shared cache entry first, so there is no reliable way to target a specific victim's data. Limiting factors: the vulnerable feature is non-default/opt-in, apps without nested 'use cache' calls reading root params are unaffected, and the flaw is fully remediated by upgrading to 16.3.8. Shared cache headers can widen blast radius by letting downstream CDN/proxy caches redistribute the mismatched content.

Impact

This is a genuine but modest-severity information-disclosure/cache-correctness flaw, not an emergency. The vendor CVSS 4.0 score of 6.3 (AV:N/AC:L/AT:P/PR:N/UI:N/VC:L only) is internally consistent with the description: network-reachable, no auth, but an Attack Requirement (AT:P) reflects that exploitation depends on race-like timing - specifically which invocation writes the shared cache entry first - rather than any attacker-steered input. Crucially, the description states twice that the leaked values CANNOT be attacker controlled and that which value is served 'depends only on which invocation wrote the entry first,' so this behaves as an accidental cross-root-param content-substitution bug rather than a targeted exfiltration primitive; confidentiality impact is correctly capped at VC:L (VI/VA:N). There is no EPSS score, no CISA KEV listing, and no public exploit identified at time of analysis, so there is no public exploit identified at time of analysis. The main amplifier is deployment reach: Next.js is extremely widely deployed, but this specific defect only manifests when the opt-in Cache Components feature (cacheComponents: true) is enabled AND an app uses nested 'use cache' functions where an inner call reads a root param - a narrow configuration that sharply limits the realistically affected population. Net: real priority only for teams running Cache Components in multi-root-param apps; for everyone else it is a high-CVSS-product / low-real-risk situation. No key signals conflict, though the 'passive, non-attacker-controlled' nature means the practical risk is content-correctness/privacy leakage rather than classic exploitation.

Exploit ScenarioDerived

A Next.js site (16.3.0-16.3.7) runs with cacheComponents: true and serves per-tenant or per-locale pages keyed on a root param, where an outer 'use cache' function calls an inner 'use cache' function that reads that root param. The inner call is served from an existing entry, so the outer function's cache key omits the root param; the first request to populate it writes content for one root-param value, and every subsequent request for other values is served that same cached content, with shared cache headers potentially fanning it out through downstream CDNs. No public exploit code exists, and the outcome is non-deterministic cross-value content substitution rather than attacker-chosen data retrieval.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 01, 2026

Information disclosure in Next.js 16.3.0 through 16.3.7 is a modest-severity cache-correctness flaw that can serve cached content for one root-param value to requests for a different root-param value when the opt-in Cache Components feature is enabled, allowing remote unauthenticated requests to receive content intended for another tenant, locale, or region. The flaw requires nested use cache functions where an inner function reads next/root-params; the leaked content is not attacker-controlled and depends on which invocation first populates the shared cache entry. Vendor-released patch: 16.3.8; no public exploit identified at time of analysis.

RemediationAI

Upgrade to Next.js 16.3.8, the vendor-released patch, as documented in the release notes and advisory GHSA-h694-7cp9-m8p3. If an immediate upgrade is not possible, do not enable cacheComponents: true, or refactor the affected code so that an outer use cache function does not call another use cache function that reads next/root-params; explicitly include root param values in cache keys where caching is required, though this is a code change with regression risk. Because shared cache headers can let downstream CDN and proxy caches redistribute mismatched content, purge or invalidate downstream caches for affected routes after upgrading or changing configuration. There is no vendor-released patch for the vulnerable 16.3.0-16.3.7 range other than upgrading to 16.3.8; no public exploit identified at time of analysis.

Affected VersionsENISA

next.js < 16.3.8

Affected Packages

euvd next_js fix: 16.3.8

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Next.js is a React framework whose App Router supports caching directives via Cache Components and the use cache directive; this issue also involves next/root-params, which exposes route/root parameter values to server components. CWE-524 (Use of Cache Containing Sensitive Information) is the relevant root-cause class: when an outer use cache function calls an inner use cache function that reads a root param, and the inner call is served from an existing entry, the outer function's cache key is generated without that root param. The affected product is Vercel Next.js, with CPE cpe:2.3:a:vercel:next.js:*:*:*:*:*:*:*:*; the vulnerable range is 16.3.0 through 16.3.7. As a result, one cache entry can be reused for all root-param values, so prerendered, runtime-rendered, and dynamically rendered pages can serve content produced for a different root-param value; shared cache headers can cause downstream CDN or proxy caches to redistribute the mismatched content further. The issue is opt-in (cacheComponents: true) and requires the specific nested cache/root-param structure; the confidentiality impact is low, and the leaked value is not attacker-controlled.

Know when Next Js gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 6.3 MEDIUM
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
vuln.today AI 3.7 LOW

Network-reachable with no auth, but AC:H because the leak hinges on non-deterministic cache-write ordering and a specific opt-in config; confidentiality-only and low since leaked content is not attacker-controlled.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Red Hat 3.7 LOW

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 01, 2026 - 16:02 EUVD
CVE Published
Oct 01, 2026 - 14:50 cve.org
MEDIUM 6.3

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
High
Next.js is an extremely widely deployed React framework
Data Quality
7 sources
Confidence: High
EUVD 🇯🇵JVN NVD CVE.org EPSS Vulnrichment Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
High
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2025-55182 CRITICAL POC
10.0 Dec 03

React Server Components in React 19.x contain a critical pre-authentication remote code execution vulnerability (CVE-202

CVE-2017-16877 HIGH POC
7.5 Nov 17

ZEIT Next.js before 2.4.1 has directory traversal under the /_next and /static request namespace, allowing attackers to

CVE-2025-55184 HIGH POC
7.5 Dec 11

Pre-authentication denial of service in React Server Components (versions 19.0.0 through 19.2.1) allows unauthenticated

CVE-2025-55183 MEDIUM POC
5.3 Dec 11

Information disclosure in React Server Components 19.x, distributed as react-server-dom-webpack, react-server-dom-turbop

CVE-2026-75604 CRITICAL POC
9.0 Sep 01

Path traversal in Next.js (13.4.0 through 15.5.23 and 16.x before 16.3.3) running on Windows-hosted servers lets a remot

CVE-2024-34351 HIGH POC
7.5 May 14

Next.js is a React framework that can provide building blocks to create web applications. Rated high severity (CVSS 7.5)

CVE-2023-46298 HIGH POC
7.5 Oct 22

Next.js before 13.4.20-canary.13 lacks a cache-control header and thus empty prefetch responses may sometimes be cached

CVE-2018-6184 HIGH POC
7.5 Jan 24

ZEIT Next.js 4 before 4.2.3 has Directory Traversal under the /_next request namespace. Rated high severity (CVSS 7.5),

CVE-2025-67779 HIGH
7.5 Dec 12

Unsafe deserialization in React Server Components Server Function endpoints allows remote unauthenticated attackers to t

CVE-2026-94483 HIGH
8.3 Oct 02

Server-side request forgery in the Next.js Image Optimization endpoint lets a remote, unauthenticated attacker cause the

CVE-2020-5284 MEDIUM POC
4.3 Mar 30

Next.js versions before 9.3.2 have a directory traversal vulnerability. Rated medium severity (CVSS 4.3), this vulnerabi

CVE-2024-51479 HIGH
7.5 Dec 17

Next.js is a React framework for building full-stack web applications. Rated high severity (CVSS 7.5), this vulnerabilit

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy