Cyber Resilience

CVE-2024-46982

Access Control in Vercel Next.Js 13.5.1 – 13.5.7

Published
17 September 2024
Modified
10 September 2025
Patch / advisory
CVSS Score v3.1 7.5
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
EPSS Score 0.59 99.0th percentile
Risk Priority 80 floored blend · peak EPSS

Summary

CVE-2024-46982 is a high-severity Authorization Bypass Through User-Controlled Key (CWE-639) vulnerability in Vercel Next.Js. Its CVSS base score is 7.5 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked in the top 1.0% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-24 (Access Control Decisions) and AC-3 (Access Enforcement) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

Next.js, the React framework for full-stack web applications, contains a cache-poisoning flaw that affects non-dynamic server-side rendered routes when the pages router is in use. An attacker who sends a specially crafted HTTP request can force the framework to cache a route that should not be cached and to emit a Cache-Control: s-maxage=1, stale-while-revalidate header that some upstream CDNs will also honor. The issue is limited to versions 13.5.1 through 14.2.9; the app router and dynamic routes such as pages/blog/[slug].tsx are unaffected.

Because the attack requires only an unauthenticated network request, any remote adversary can trigger the poisoning. Successful exploitation results in the server or CDN serving incorrect or stale content for the targeted route, producing a high-impact availability condition as reflected in the CVSS 7.5 score and CWE-639 classification.

The official GitHub Security Advisory and the patches merged in commits 7ed7f125e and bd164d53a state that the vulnerability is resolved in Next.js 13.5.7, 14.2.10, and later releases. No official workarounds are recommended; the advisory explicitly advises upgrading regardless of whether the issue can be reproduced in a given deployment. The associated EPSS score reached a peak of 0.5262 and currently stands at 0.4906.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

Next.js is a React framework for building full-stack web applications. By sending a crafted HTTP request, it is possible to poison the cache of a non-dynamic server-side rendered route in the pages router (this does not affect the app router).…

more

When this crafted request is sent it could coerce Next.js to cache a route that is meant to not be cached and send a `Cache-Control: s-maxage=1, stale-while-revalidate` header which some upstream CDNs may cache as well. To be potentially affected all of the following must apply: 1. Next.js between 13.5.1 and 14.2.9, 2. Using pages router, & 3. Using non-dynamic server-side rendered routes e.g. `pages/dashboard.tsx` not `pages/blog/[slug].tsx`. This vulnerability was resolved in Next.js v13.5.7, v14.2.10, and later. We recommend upgrading regardless of whether you can reproduce the issue or not. There are no official or recommended workarounds for this issue, we recommend that users patch to a safe version.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2024-34351Same product: Vercel Next.Js
CVE-2026-64649Same product: Vercel Next.Js
CVE-2025-49826Same product: Vercel Next.Js
CVE-2026-29057Same product: Vercel Next.Js
CVE-2026-44578Same product: Vercel Next.Js
CVE-2026-27978Same product: Vercel Next.Js
CVE-2025-57822Same product: Vercel Next.Js
CVE-2024-34350Same product: Vercel Next.Js
CVE-2026-44576Same product: Vercel Next.Js
CVE-2026-64645Same product: Vercel Next.Js

Affected Assets

vercel
next.js
13.5.1 — 13.5.7 · 14.0.0 — 14.2.10

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

Enforcing approved authorizations on every access request structurally stops a user-controlled key from reaching another user's data.

Requiring explicit access-control decisions on each request blocks unauthorized key-driven access.

Least-privilege restrictions limit the scope of data reachable even if a key check is bypassed.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.AA-05 full match
prevents

Enforcing authorization policy and least privilege directly blocks user-controlled key tampering that bypasses access checks.

PR.IR-01 mostly match
prevents

Logical access controls prevent unauthorized data access that results from missing authorization checks on object references.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing can detect missing authorization checks but does not prevent the weakness in production.

prevents

Information access restriction explicitly enforces that users may only retrieve data they are authorized to see, directly addressing user-controlled key bypass.

prevents

Access control policy directly requires enforcement of authorization rules that prevent unauthorized access via manipulated keys.

prevents

Managing access rights includes ensuring users can only access their own records and not bypass authorization by altering identifiers.

mitigates

Privileged access rights control restricts what data each user may access, mitigating direct object reference attacks.

prevents

Secure development lifecycle includes authorization design but does not itself implement runtime access checks.

References