Security Resilience

CVE-2023-48309

Access Control in Nextauth.Js Next-Auth ≤ 4.24.5

Published
20 November 2023
Modified
21 November 2024
Patch / advisory
CVSS Score v3.1 5.3
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
EPSS Score 0.0070 52th percentile
Risk Priority 45 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2023-48309 is a medium-severity Improper Authorization (CWE-285) vulnerability in Nextauth.Js Next-Auth. Its CVSS base score is 5.3 (Medium).

Operationally, ranked in the top 48% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

NextAuth.js provides authentication for Next.js. `next-auth` applications prior to version 4.24.5 that rely on the default Middleware authorization are affected by a vulnerability. A bad actor could create an empty/mock user, by getting hold of a NextAuth.js-issued JWT from an…

more

interrupted OAuth sign-in flow (state, PKCE or nonce). Manually overriding the `next-auth.session-token` cookie value with this non-related JWT would let the user simulate a logged in user, albeit having no user information associated with it. (The only property on this user is an opaque randomly generated string). This vulnerability does not give access to other users' data, neither to resources that require proper authorization via scopes or other means. The created mock user has no information associated with it (ie. no name, email, access_token, etc.) This vulnerability can be exploited by bad actors to peek at logged in user states (e.g. dashboard layout). `next-auth` `v4.24.5` contains a patch for the vulnerability. As a workaround, using a custom authorization callback for Middleware, developers can manually do a basic authentication.

CWE(s)

Related Threats

CVEs Like This One

CVE-2023-27490Same product: Nextauth.Js Next-Auth
CVE-2024-51479Shared CWE-285, CWE-863
CVE-2026-86101Shared CWE-285, CWE-863
CVE-2023-1164Shared CWE-285, CWE-863
CVE-2025-29927Shared CWE-285, CWE-863
CVE-2024-41670Shared CWE-285, CWE-863
CVE-2024-2557Shared CWE-285, CWE-863
CVE-2025-27601Shared CWE-285, CWE-863
CVE-2025-29827Shared CWE-285, CWE-863
CVE-2026-55428Shared CWE-285, CWE-863

Affected Assets

nextauth.js
next-auth
≤ 4.24.5

Mitigating Controls

Likely Mitigating Controls AI

Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.

addresses: CWE-285 CWE-863

Documented procedures facilitate correct implementation and ongoing management of authorization decisions.

addresses: CWE-285 CWE-863

Periodic reviews identify and correct flaws in authorization decisions or enforcement.

addresses: CWE-285 CWE-863

Establishing permitted attributes and values, plus auditing changes, ensures authorization decisions are based on correctly managed policy data.

addresses: CWE-285 CWE-863

Explicitly mandates authorizing remote access types before permitting connections, directly mitigating improper authorization.

addresses: CWE-285 CWE-863

The control explicitly requires authorization of each wireless access type prior to permitting connections.

addresses: CWE-285 CWE-863

Mandating explicit authorization of mobile device connections reduces the risk of improper authorization decisions for system access.

addresses: CWE-285 CWE-863

Specifying access authorizations for each account and requiring approvals for account requests enforces proper authorization decisions.

addresses: CWE-285 CWE-863

Requires explicit authorization for individuals to use external systems to access or handle organization-controlled information.

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.

blocks

A.5.1 only requires the existence of an overarching policy and topic-specific policies (including on access control); it does not itself perform or enforce any authorization check, so the CWE-285 weakness can still be exploited.

blocks

Mapping access rights to information classification and business requirements forces correct enforcement of authorization decisions, blocking the incorrect authorization weakness at the policy and implementation stage.

blocks

A.5.18's provisioning, revocation, review and adjustment of access rights (incl. before role changes/termination, with segregation and owner approval) directly stops incorrect authorization decisions from being exploitable in the vast majority of cases; the bounded remainder is incorrectness inside the authorization logic itself (e.g. flawed conditional or missing check) rather than rights that were wrongly granted.

finds

Independent reviewers evaluate whether authorization logic matches policy, thereby reducing the window in which incorrect or missing authorization checks remain in production.

finds

By requiring managers to verify that authorization decisions match policy and to remediate deviations, the control limits the persistence of incorrect or missing authorization checks.

blocks

Requiring authorization processes and privilege assignments to be specified during project initiation prevents downstream components from receiving overly broad or incorrect rights that would allow unauthorized actions.

Hardening callouts derived

DISA STIG baselines are authored against specific weaknesses. Where this CVE cites a broad weakness class, the mapping is not asserted at that abstraction (owner ruling, 2026-09-25: grade only at Base and below), so no rule is shown here rather than a rule shown against the wrong grain.

  • No fine-grained STIG row for CWE-285, a class-level weakness. Rules are authored against its narrower children: CWE-552.
  • No fine-grained STIG row for CWE-863, a class-level weakness, and none of its children carries one either.

References