Skip to main content
← All vulnerabilities
CVE-2026-73419GHSA-X445-F3H2-J279

NextAuth.js: OAuth state, nonce, and PKCE check cookies are not bound to the provider that created them

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.24.15, 5.0.0-beta.32, 0.41.3
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

NextAuth.js provides authentication for Next.js. Prior to@auth/core 0.41.3 and next-auth 4.24.15 and 5.0.0-beta.32, Auth.js stores the OAuth/OIDC anti-CSRF checks state, nonce, and the PKCE verifier in global cookies that are not bound to the provider that created them. On callback, a check value minted during a sign-in started with one provider can satisfy the callback for a different provider because the stored cookie is not verified against the callback provider's identity, including the provider ID, issuer, client ID, or redirect URI. In a multi-provider application that permits account linking while logged in, when one provider's authorization request is observable and a target provider callback can be satisfied without a PKCE verifier, an attacker can lure a victim into starting a legitimate same-origin flow and link the attacker's target-provider account to the victim's Auth.js user. The linked provider grants the attacker persistent sign-in to the victim's account, while cross-site request forgery alone is insufficient. This issue is fixed in @auth/core 0.41.3 and next-auth 4.24.15 and 5.0.0-beta.32.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • nextauthjs next-auth

    fixed in 4.24.15; From 5.0.0-beta.4 · fixed in 5.0.0-beta.32

  • @auth core

    fixed in 0.41.3

  • @auth/corenpm

    fixed in 0.41.3

  • next-authnpm

    From 5.0.0-beta.1 · fixed in 5.0.0-beta.32

  • next-authnpm

    fixed in 4.24.15

References 7

GitHub · nextauthjs/next-auth