U.S. flag   An official website of the United States government
Dot gov

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Https

Secure .gov websites use HTTPS
A lock (Dot gov) or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.

CVE-2022-35924 Detail

Current Description

NextAuth.js is a complete open source authentication solution for Next.js applications. `next-auth` users who are using the `EmailProvider` either in versions before `4.10.3` or `3.29.10` are affected. If an attacker could forge a request that sent a comma-separated list of emails (eg.: `attacker@attacker.com,victim@victim.com`) to the sign-in endpoint, NextAuth.js would send emails to both the attacker and the victim's e-mail addresses. The attacker could then login as a newly created user with the email being `attacker@attacker.com,victim@victim.com`. This means that basic authorization like `email.endsWith("@victim.com")` in the `signIn` callback would fail to communicate a threat to the developer and would let the attacker bypass authorization, even with an `@attacker.com` address. This vulnerability has been patched in `v4.10.3` and `v3.29.10` by normalizing the email value that is sent to the sign-in endpoint before accessing it anywhere else. We also added a `normalizeIdentifier` callback on the `EmailProvider` configuration, where you can further tweak your requirements for what your system considers a valid e-mail address. (E.g.: strict RFC2821 compliance). Users are advised to upgrade. There are no known workarounds for this vulnerability. If for some reason you cannot upgrade, you can normalize the incoming request using Advanced Initialization.


View Analysis Description

Severity



CVSS 3.x Severity and Metrics:

NIST CVSS score matches with CNA score
CNA:  GitHub, Inc.
Base Score:  9.1 CRITICAL
Vector:  CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N


NVD Analysts use publicly available information to associate vector strings and CVSS scores. We also display any CVSS information provided within the CVE List from the CNA.

Note: The NVD and the CNA have provided the same score. When this occurs only the CNA information is displayed, but the Acceptance Level icon for the CNA is given a checkmark to signify NVD concurrence.

References to Advisories, Solutions, and Tools

By selecting these links, you will be leaving NIST webspace. We have provided these links to other web sites because they may have information that would be of interest to you. No inferences should be drawn on account of other sites being referenced, or not, from this page. There may be other web sites that are more appropriate for your purpose. NIST does not necessarily endorse the views expressed, or concur with the facts presented on these sites. Further, NIST does not endorse any commercial products that may be mentioned on these sites. Please address comments about this page to nvd@nist.gov.

Hyperlink Resource
https://en.wikipedia.org/wiki/Email_address#Local-part Third Party Advisory 
https://github.com/nextauthjs/next-auth/commit/afb1fcdae3cc30445038ef588e491d139b916003 Patch  Third Party Advisory 
https://github.com/nextauthjs/next-auth/security/advisories/GHSA-xv97-c62v-4587 Mitigation  Third Party Advisory 
https://next-auth.js.org/configuration/callbacks#sign-in-callback Vendor Advisory 
https://next-auth.js.org/configuration/initialization#advanced-initialization Vendor Advisory 
https://next-auth.js.org/providers/email Vendor Advisory 
https://next-auth.js.org/providers/email#normalizing-the-e-mail-address Vendor Advisory 
https://nodemailer.com/message/addresses Third Party Advisory 

Weakness Enumeration

CWE-ID CWE Name Source
CWE-863 Incorrect Authorization cwe source acceptance level NIST  
CWE-20 Improper Input Validation Provider acceptance level GitHub, Inc.  

Known Affected Software Configurations Switch to CPE 2.2

CPEs loading, please wait.

Denotes Vulnerable Software
Are we missing a CPE here? Please let us know.

Change History

1 change records found show changes

Quick Info

CVE Dictionary Entry:
CVE-2022-35924
NVD Published Date:
08/02/2022
NVD Last Modified:
08/10/2022
Source:
GitHub, Inc.