{"id":"CVE-2026-73421","state":"PUBLISHED","title":"NextAuth.js: Configuration errors can cause existence-based auth checks to fail open (auth object populated with an error)","description":"NextAuth.js provides authentication for Next.js. From next-auth 5.0.0-beta.0 until 5.0.0-beta.32, applications that gate access by checking only for the existence of the auth object returned by the auth() wrapper can fail open when Auth.js has a server configuration error. In middleware, Route Handlers, React Server Components, and other auth() entry points, a non-OK session response is parsed into a truthy error object instead of null, so checks such as !!auth and if (req.auth) evaluate to true for unauthenticated requests. A provider missing both the issuer and authorization endpoint triggers InvalidEndpoints, and an unset AUTH_SECRET or another server configuration error can produce the same behavior. There is no impact while configuration is valid, but after a deployment becomes misconfigured, routes protected only by session existence silently grant access to every visitor. This issue is fixed in next-auth 5.0.0-beta.32.","publishedAt":"2026-08-13T22:04:36.985Z","updatedAt":"2026-08-18T01:45:41.913Z","severity":{"score":9.1,"label":"Critical","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","source":"GitHub_M"},"assigner":"GitHub_M","products":["nextauthjs next-auth"],"affected":[{"vendor":"nextauthjs","product":"next-auth","versions":[{"version":">= 5.0.0-beta.4, < 5.0.0-beta.32","status":"affected"}]}],"references":["https://github.com/nextauthjs/next-auth/security/advisories/GHSA-8fpg-xm3f-6cx3","https://github.com/nextauthjs/next-auth/commit/d008b9b764bf4b322a87e1822d1dda7789258d8f","https://github.com/nextauthjs/next-auth/releases/tag/next-auth@5.0.0-beta.32"],"weaknesses":["CWE-285","CWE-636"],"ingestedAt":"2026-10-29T20:12:58.252Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/73xxx/CVE-2026-73421.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-73421","state":"PUBLISHED","datePublished":"2026-08-13T22:04:36.985Z","dateUpdated":"2026-08-18T01:45:41.913Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-08-12T14:32:11.795Z"},"containers":{"cna":{"title":"NextAuth.js: Configuration errors can cause existence-based auth checks to fail open (auth object populated with an error)","descriptions":[{"lang":"en","value":"NextAuth.js provides authentication for Next.js. From next-auth 5.0.0-beta.0 until 5.0.0-beta.32, applications that gate access by checking only for the existence of the auth object returned by the auth() wrapper can fail open when Auth.js has a server configuration error. In middleware, Route Handlers, React Server Components, and other auth() entry points, a non-OK session response is parsed into a truthy error object instead of null, so checks such as !!auth and if (req.auth) evaluate to true for unauthenticated requests. A provider missing both the issuer and authorization endpoint triggers InvalidEndpoints, and an unset AUTH_SECRET or another server configuration error can produce the same behavior. There is no impact while configuration is valid, but after a deployment becomes misconfigured, routes protected only by session existence silently grant access to every visitor. This issue is fixed in next-auth 5.0.0-beta.32."}],"affected":[{"vendor":"nextauthjs","product":"next-auth","versions":[{"version":">= 5.0.0-beta.4, < 5.0.0-beta.32","status":"affected"}]}],"references":[{"url":"https://github.com/nextauthjs/next-auth/security/advisories/GHSA-8fpg-xm3f-6cx3","name":"https://github.com/nextauthjs/next-auth/security/advisories/GHSA-8fpg-xm3f-6cx3","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/nextauthjs/next-auth/commit/d008b9b764bf4b322a87e1822d1dda7789258d8f","name":"https://github.com/nextauthjs/next-auth/commit/d008b9b764bf4b322a87e1822d1dda7789258d8f","tags":["x_refsource_MISC"]},{"url":"https://github.com/nextauthjs/next-auth/releases/tag/next-auth@5.0.0-beta.32","name":"https://github.com/nextauthjs/next-auth/releases/tag/next-auth@5.0.0-beta.32","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":9.1,"baseSeverity":"CRITICAL","vectorString":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","version":"4.0"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-285","lang":"en","description":"CWE-285: Improper Authorization","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-636","lang":"en","description":"CWE-636: Not Failing Securely ('Failing Open')","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-08-13T22:04:36.985Z"},"source":{"advisory":"GHSA-8fpg-xm3f-6cx3","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-08-18T01:45:29.266864Z","id":"CVE-2026-73421","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-08-18T01:45:41.913Z"}}]}}}