CVE-2026-103004: Vercel Next.js cache leak across root param values in nested use cache

CVE-2026-103004 · Severity: medium · CVSS 5.3 · Published 2026-10-01

Next.js is a React web framework used to build server-side rendered web applications. When Cache Components are enabled, nested `use cache` functions can incorrectly reuse cached responses across different root parameter values, causing users to see content meant for other users. This information disclosure occurs automatically without user interaction and can persist across multiple users and downstream caches.

Technologies: next (npm), Vercel Next.js. Vendors: npm, Vercel.

Quick answers

Is CVE-2026-103004 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-103004 being exploited in the wild.
How severe is CVE-2026-103004?
Medium severity, with a CVSS score of 5.3, published 1 October 2026.
Which products and versions are affected?
next (npm) >= 16.3.0, < 16.3.8, SEMVER:introduced=16.3.0,fixed=16.3.8; Vercel Next.js 16.3.0 to 16.3.7.
Is there a fix for CVE-2026-103004?
Yes. next (npm): upgrade to 16.3.8 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-103004 attacked?
It is attacked over the network, in a web application.
Am I affected by CVE-2026-103004?
Check whether you run next (npm) or Vercel Next.js at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • next (npm): upgrade to 16.3.8 or later
    npm install next@16.3.8

Technical details

A nested `use cache` function that calls another `use cache` function reading a root parameter can have its cache key incorrectly computed, omitting the root parameter when the inner call is served from an existing cache entry. This causes the outer cache entry to be written once and reused across all root parameter values, whether the page is prerendered at build time, at runtime, or rendered dynamically. The leak is non-attacker-controlled but depends on which invocation writes the cache entry first; shared cache headers can propagate the misdirected content further downstream.

Affected products

  • Vercel Next.js 16.3.0 to 16.3.7

Identifiers

  • CVE-2026-103004
  • GHSA-h694-7cp9-m8p3

Timeline

  • 2026-09-30: disclosed
  • 2026-09-30: patched

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.