NEXT · CVE-2026-119351 · Package
FIX → 16.4.5
With Cache Components enabled, a nested 'use cache' function can save a cache entry under a key that omits a root param, so one root param value's response can be served for another. Entries written this way can also ignore tag invalidation and cache lifetimes of the nested caches they used.
first public Nov 3, 2026 · 1 source
Could this affect your app?
Free first check from your website. Connect your repo for the full answer.
Applications on Next.js 16.2.0 through 16.4.4 that enable Cache Components and nest 'use cache' functions that read root params. Apps that do not enable Cache Components, or that do not use root params inside nested cached functions, are not described as exposed by the sources.
Not affected if cache-components-disabled, no-nested-use-cache, no-root-params
Who cares next.js, self-hosted, vercel
npm ls nextcacheComponents enabled in next.config'use cache' functions that call other 'use cache' functions and read root params via next/root-paramsWith Cache Components enabled, an outer 'use cache' function can be keyed incorrectly even when its inner 'use cache' call generates a fresh entry. If the inner function reads a root param (via next/root-params) and returns a value that still contains pending promises — for example an object with data that is ready immediately alongside slower data — React Flight delivers the ready portion to the outer function before the inner entry has finished publishing its root param dependencies. The outer function can then finish, and its cache entry is persisted under a key that omits that root param. The 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. Entries written this way can also ignore tag invalidation and cache lifetimes of the nested caches they consumed.
What values are leaked cannot be attacker controlled. Which value's content is served depends only on which invocation wrote the entry first.
This is a variant of https://github.com/advisories/GHSA-h694-7cp9-m8p3 that the fix for that advisory does not cover: it does not require the inner call to be served from an existing entry, and it does not depend on a slow cache handler.
Check it with your coding agent
It reads this page and tells you if your code is affected.
Are you affected?
Ask from here. InfraStack checks the affected versions against your stack and answers in your inbox.
InfraStack checks the affected versions against your stack and answers in Slack, with the evidence and the fix.
Upgrade to 16.4.5
next 16.4.5 (fixed; affected range >= 16.2.0, <= 16.4.4)