CVE-2022-35924 (GCVE-0-2022-35924)
Vulnerability from cvelistv5 – Published: 2022-08-02 17:55 – Updated: 2025-04-23 17:54- CWE-20 - Improper Input Validation
| URL | Tags |
|---|---|
| https://next-auth.js.org/configuration/initializa… | x_refsource_MISC |
| https://github.com/nextauthjs/next-auth/security/… | x_refsource_CONFIRM |
| https://github.com/nextauthjs/next-auth/commit/af… | x_refsource_MISC |
| https://en.wikipedia.org/wiki/Email_address#Local-part | x_refsource_MISC |
| https://next-auth.js.org/configuration/callbacks#… | x_refsource_MISC |
| https://next-auth.js.org/providers/email | x_refsource_MISC |
| https://next-auth.js.org/providers/email#normaliz… | x_refsource_MISC |
| https://nodemailer.com/message/addresses | x_refsource_MISC |
| Vendor | Product | Version | CPE status | |
|---|---|---|---|---|
| nextauthjs | next-auth |
Affected:
>= 4.0.0, < 4.10.3
Affected: < 3.29.10 |
guessed |
{
"containers": {
"adp": [
{
"providerMetadata": {
"dateUpdated": "2024-08-03T09:51:58.503Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://next-auth.js.org/configuration/initialization#advanced-initialization"
},
{
"tags": [
"x_refsource_CONFIRM",
"x_transferred"
],
"url": "https://github.com/nextauthjs/next-auth/security/advisories/GHSA-xv97-c62v-4587"
},
{
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://github.com/nextauthjs/next-auth/commit/afb1fcdae3cc30445038ef588e491d139b916003"
},
{
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://en.wikipedia.org/wiki/Email_address#Local-part"
},
{
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://next-auth.js.org/configuration/callbacks#sign-in-callback"
},
{
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://next-auth.js.org/providers/email"
},
{
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://next-auth.js.org/providers/email#normalizing-the-e-mail-address"
},
{
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://nodemailer.com/message/addresses"
}
],
"title": "CVE Program Container"
},
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2022-35924",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2025-04-23T15:48:47.718684Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2025-04-23T17:54:19.705Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "next-auth",
"vendor": "nextauthjs",
"versions": [
{
"status": "affected",
"version": "\u003e= 4.0.0, \u003c 4.10.3"
},
{
"status": "affected",
"version": "\u003c 3.29.10"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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\u0027s 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."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 9.1,
"baseSeverity": "CRITICAL",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-20",
"description": "CWE-20: Improper Input Validation",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2022-08-02T17:55:13.000Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"tags": [
"x_refsource_MISC"
],
"url": "https://next-auth.js.org/configuration/initialization#advanced-initialization"
},
{
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/nextauthjs/next-auth/security/advisories/GHSA-xv97-c62v-4587"
},
{
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/nextauthjs/next-auth/commit/afb1fcdae3cc30445038ef588e491d139b916003"
},
{
"tags": [
"x_refsource_MISC"
],
"url": "https://en.wikipedia.org/wiki/Email_address#Local-part"
},
{
"tags": [
"x_refsource_MISC"
],
"url": "https://next-auth.js.org/configuration/callbacks#sign-in-callback"
},
{
"tags": [
"x_refsource_MISC"
],
"url": "https://next-auth.js.org/providers/email"
},
{
"tags": [
"x_refsource_MISC"
],
"url": "https://next-auth.js.org/providers/email#normalizing-the-e-mail-address"
},
{
"tags": [
"x_refsource_MISC"
],
"url": "https://nodemailer.com/message/addresses"
}
],
"source": {
"advisory": "GHSA-xv97-c62v-4587",
"discovery": "UNKNOWN"
},
"title": "Verification requests (magic link) sent to unwanted emails",
"x_legacyV4Record": {
"CVE_data_meta": {
"ASSIGNER": "security-advisories@github.com",
"ID": "CVE-2022-35924",
"STATE": "PUBLIC",
"TITLE": "Verification requests (magic link) sent to unwanted emails"
},
"affects": {
"vendor": {
"vendor_data": [
{
"product": {
"product_data": [
{
"product_name": "next-auth",
"version": {
"version_data": [
{
"version_value": "\u003e= 4.0.0, \u003c 4.10.3"
},
{
"version_value": "\u003c 3.29.10"
}
]
}
}
]
},
"vendor_name": "nextauthjs"
}
]
}
},
"data_format": "MITRE",
"data_type": "CVE",
"data_version": "4.0",
"description": {
"description_data": [
{
"lang": "eng",
"value": "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\u0027s 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."
}
]
},
"impact": {
"cvss": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 9.1,
"baseSeverity": "CRITICAL",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
"version": "3.1"
}
},
"problemtype": {
"problemtype_data": [
{
"description": [
{
"lang": "eng",
"value": "CWE-20: Improper Input Validation"
}
]
}
]
},
"references": {
"reference_data": [
{
"name": "https://next-auth.js.org/configuration/initialization#advanced-initialization",
"refsource": "MISC",
"url": "https://next-auth.js.org/configuration/initialization#advanced-initialization"
},
{
"name": "https://github.com/nextauthjs/next-auth/security/advisories/GHSA-xv97-c62v-4587",
"refsource": "CONFIRM",
"url": "https://github.com/nextauthjs/next-auth/security/advisories/GHSA-xv97-c62v-4587"
},
{
"name": "https://github.com/nextauthjs/next-auth/commit/afb1fcdae3cc30445038ef588e491d139b916003",
"refsource": "MISC",
"url": "https://github.com/nextauthjs/next-auth/commit/afb1fcdae3cc30445038ef588e491d139b916003"
},
{
"name": "https://en.wikipedia.org/wiki/Email_address#Local-part",
"refsource": "MISC",
"url": "https://en.wikipedia.org/wiki/Email_address#Local-part"
},
{
"name": "https://next-auth.js.org/configuration/callbacks#sign-in-callback",
"refsource": "MISC",
"url": "https://next-auth.js.org/configuration/callbacks#sign-in-callback"
},
{
"name": "https://next-auth.js.org/providers/email",
"refsource": "MISC",
"url": "https://next-auth.js.org/providers/email"
},
{
"name": "https://next-auth.js.org/providers/email#normalizing-the-e-mail-address",
"refsource": "MISC",
"url": "https://next-auth.js.org/providers/email#normalizing-the-e-mail-address"
},
{
"name": "https://nodemailer.com/message/addresses",
"refsource": "MISC",
"url": "https://nodemailer.com/message/addresses"
}
]
},
"source": {
"advisory": "GHSA-xv97-c62v-4587",
"discovery": "UNKNOWN"
}
}
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2022-35924",
"datePublished": "2022-08-02T17:55:13.000Z",
"dateReserved": "2022-07-15T00:00:00.000Z",
"dateUpdated": "2025-04-23T17:54:19.705Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.1",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2022-35924",
"date": "2026-11-09",
"epss": "0.01471",
"percentile": "0.73962"
},
"nvd": {
"cve": {
"affected": [
{
"affectedData": [
{
"product": "next-auth",
"vendor": "nextauthjs",
"versions": [
{
"status": "affected",
"version": "\u003e= 4.0.0, \u003c 4.10.3"
},
{
"status": "affected",
"version": "\u003c 3.29.10"
}
]
}
],
"source": "security-advisories@github.com"
}
],
"configurations": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:nextauth.js:next-auth:*:*:*:*:*:node.js:*:*",
"matchCriteriaId": "97098DFC-AC04-4EAE-862A-92C6447A0520",
"versionEndExcluding": "3.29.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:nextauth.js:next-auth:*:*:*:*:*:node.js:*:*",
"matchCriteriaId": "5D61C7D4-4D8C-471E-A49D-2ACA7E6A8B03",
"versionEndExcluding": "4.10.3",
"versionStartIncluding": "4.0.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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\u0027s 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."
},
{
"lang": "es",
"value": "NextAuth.js es una completa soluci\u00f3n de autenticaci\u00f3n de c\u00f3digo abierto para aplicaciones Next.js. Los usuarios de \"next-auth\" que usan el \"EmailProvider\" en versiones anteriores a \"4.10.3\" o \"3.29.10\" est\u00e1n afectados. Si un atacante pudiera falsificar una petici\u00f3n que enviara una lista de correos electr\u00f3nicos separados por comas (por ejemplo: \"attacker@attacker.com,victim@victim.com\") al endpoint de inicio de sesi\u00f3n, NextAuth.js enviar\u00eda correos electr\u00f3nicos tanto al atacante como a las direcciones de correo electr\u00f3nico de la v\u00edctima. El atacante podr\u00eda entonces iniciar sesi\u00f3n como un usuario reci\u00e9n creado con el correo electr\u00f3nico \"attacker@attacker.com,victim@victim.com\". Esto significa que una autorizaci\u00f3n b\u00e1sica como \"email.endsWith(\"@v\u00edctima.com\")\" en la llamada de retorno \"signIn\" no comunicar\u00eda una amenaza al desarrollador y permitir\u00eda al atacante saltarse la autorizaci\u00f3n, incluso con una direcci\u00f3n \"@atacante.com\". Esta vulnerabilidad ha sido parcheada en versiones \"v4.10.3\" y \"v3.29.10\" al normalizar el valor del correo electr\u00f3nico que es enviado al punto final de inicio de sesi\u00f3n antes de acceder a \u00e9l en cualquier otro lugar. Tambi\u00e9n hemos a\u00f1adido una llamada de retorno \"normalizeIdentifier\" en la configuraci\u00f3n de \"EmailProvider\", donde puedes ajustar a\u00fan m\u00e1s tus requisitos para lo que tu sistema considera una direcci\u00f3n de correo electr\u00f3nico v\u00e1lida. (Por ejemplo: cumplimiento estricto del RFC2821). Es recomendado a usuarios actualizar. No se presentan mitigaciones conocidas para esta vulnerabilidad. Si por alguna raz\u00f3n no puede actualizar, puede normalizar la petici\u00f3n entrante usando la Inicializaci\u00f3n Avanzada"
}
],
"id": "CVE-2022-35924",
"lastModified": "2026-06-17T04:52:31.980",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 9.1,
"baseSeverity": "CRITICAL",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
"version": "3.1"
},
"exploitabilityScore": 3.9,
"impactScore": 5.2,
"source": "security-advisories@github.com",
"type": "Secondary"
},
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 9.1,
"baseSeverity": "CRITICAL",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
"version": "3.1"
},
"exploitabilityScore": 3.9,
"impactScore": 5.2,
"source": "nvd@nist.gov",
"type": "Primary"
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2022-35924",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2025-04-23T15:48:47.718684Z",
"version": "2.0.3"
}
}
]
},
"published": "2022-08-02T18:15:08.893",
"references": [
{
"source": "security-advisories@github.com",
"tags": [
"Third Party Advisory"
],
"url": "https://en.wikipedia.org/wiki/Email_address#Local-part"
},
{
"source": "security-advisories@github.com",
"tags": [
"Patch",
"Third Party Advisory"
],
"url": "https://github.com/nextauthjs/next-auth/commit/afb1fcdae3cc30445038ef588e491d139b916003"
},
{
"source": "security-advisories@github.com",
"tags": [
"Mitigation",
"Third Party Advisory"
],
"url": "https://github.com/nextauthjs/next-auth/security/advisories/GHSA-xv97-c62v-4587"
},
{
"source": "security-advisories@github.com",
"tags": [
"Vendor Advisory"
],
"url": "https://next-auth.js.org/configuration/callbacks#sign-in-callback"
},
{
"source": "security-advisories@github.com",
"tags": [
"Vendor Advisory"
],
"url": "https://next-auth.js.org/configuration/initialization#advanced-initialization"
},
{
"source": "security-advisories@github.com",
"tags": [
"Vendor Advisory"
],
"url": "https://next-auth.js.org/providers/email"
},
{
"source": "security-advisories@github.com",
"tags": [
"Vendor Advisory"
],
"url": "https://next-auth.js.org/providers/email#normalizing-the-e-mail-address"
},
{
"source": "security-advisories@github.com",
"tags": [
"Third Party Advisory"
],
"url": "https://nodemailer.com/message/addresses"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Third Party Advisory"
],
"url": "https://en.wikipedia.org/wiki/Email_address#Local-part"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Patch",
"Third Party Advisory"
],
"url": "https://github.com/nextauthjs/next-auth/commit/afb1fcdae3cc30445038ef588e491d139b916003"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Mitigation",
"Third Party Advisory"
],
"url": "https://github.com/nextauthjs/next-auth/security/advisories/GHSA-xv97-c62v-4587"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Vendor Advisory"
],
"url": "https://next-auth.js.org/configuration/callbacks#sign-in-callback"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Vendor Advisory"
],
"url": "https://next-auth.js.org/configuration/initialization#advanced-initialization"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Vendor Advisory"
],
"url": "https://next-auth.js.org/providers/email"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Vendor Advisory"
],
"url": "https://next-auth.js.org/providers/email#normalizing-the-e-mail-address"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Third Party Advisory"
],
"url": "https://nodemailer.com/message/addresses"
}
],
"sourceIdentifier": "security-advisories@github.com",
"vulnStatus": "Modified",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "CWE-20"
}
],
"source": "security-advisories@github.com",
"type": "Secondary"
},
{
"description": [
{
"lang": "en",
"value": "CWE-863"
}
],
"source": "nvd@nist.gov",
"type": "Primary"
}
]
}
},
"redhat_vex": {
"current_release_date": "2026-01-09T08:40:00+00:00",
"cve": "CVE-2022-35924",
"id": "CVE-2022-35924",
"initial_release_date": "2022-01-01T00:00:00+00:00",
"product_status:known_not_affected": "1",
"source": "Red Hat CSAF VEX",
"status": "final",
"title": "Verification requests (magic link) sent to unwanted emails",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2022/cve-2022-35924.json",
"version": "3"
},
"vulnrichment": {
"containers": {
"adp": [
{
"providerMetadata": {
"dateUpdated": "2024-08-03T09:51:58.503Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://next-auth.js.org/configuration/initialization#advanced-initialization"
},
{
"tags": [
"x_refsource_CONFIRM",
"x_transferred"
],
"url": "https://github.com/nextauthjs/next-auth/security/advisories/GHSA-xv97-c62v-4587"
},
{
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://github.com/nextauthjs/next-auth/commit/afb1fcdae3cc30445038ef588e491d139b916003"
},
{
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://en.wikipedia.org/wiki/Email_address#Local-part"
},
{
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://next-auth.js.org/configuration/callbacks#sign-in-callback"
},
{
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://next-auth.js.org/providers/email"
},
{
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://next-auth.js.org/providers/email#normalizing-the-e-mail-address"
},
{
"tags": [
"x_refsource_MISC",
"x_transferred"
],
"url": "https://nodemailer.com/message/addresses"
}
],
"title": "CVE Program Container"
},
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2022-35924",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2025-04-23T15:48:47.718684Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2025-04-23T15:48:49.505Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "next-auth",
"vendor": "nextauthjs",
"versions": [
{
"status": "affected",
"version": "\u003e= 4.0.0, \u003c 4.10.3"
},
{
"status": "affected",
"version": "\u003c 3.29.10"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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\u0027s 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."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 9.1,
"baseSeverity": "CRITICAL",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-20",
"description": "CWE-20: Improper Input Validation",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2022-08-02T17:55:13.000Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"tags": [
"x_refsource_MISC"
],
"url": "https://next-auth.js.org/configuration/initialization#advanced-initialization"
},
{
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/nextauthjs/next-auth/security/advisories/GHSA-xv97-c62v-4587"
},
{
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/nextauthjs/next-auth/commit/afb1fcdae3cc30445038ef588e491d139b916003"
},
{
"tags": [
"x_refsource_MISC"
],
"url": "https://en.wikipedia.org/wiki/Email_address#Local-part"
},
{
"tags": [
"x_refsource_MISC"
],
"url": "https://next-auth.js.org/configuration/callbacks#sign-in-callback"
},
{
"tags": [
"x_refsource_MISC"
],
"url": "https://next-auth.js.org/providers/email"
},
{
"tags": [
"x_refsource_MISC"
],
"url": "https://next-auth.js.org/providers/email#normalizing-the-e-mail-address"
},
{
"tags": [
"x_refsource_MISC"
],
"url": "https://nodemailer.com/message/addresses"
}
],
"source": {
"advisory": "GHSA-xv97-c62v-4587",
"discovery": "UNKNOWN"
},
"title": "Verification requests (magic link) sent to unwanted emails",
"x_legacyV4Record": {
"CVE_data_meta": {
"ASSIGNER": "security-advisories@github.com",
"ID": "CVE-2022-35924",
"STATE": "PUBLIC",
"TITLE": "Verification requests (magic link) sent to unwanted emails"
},
"affects": {
"vendor": {
"vendor_data": [
{
"product": {
"product_data": [
{
"product_name": "next-auth",
"version": {
"version_data": [
{
"version_value": "\u003e= 4.0.0, \u003c 4.10.3"
},
{
"version_value": "\u003c 3.29.10"
}
]
}
}
]
},
"vendor_name": "nextauthjs"
}
]
}
},
"data_format": "MITRE",
"data_type": "CVE",
"data_version": "4.0",
"description": {
"description_data": [
{
"lang": "eng",
"value": "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\u0027s 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."
}
]
},
"impact": {
"cvss": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 9.1,
"baseSeverity": "CRITICAL",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
"version": "3.1"
}
},
"problemtype": {
"problemtype_data": [
{
"description": [
{
"lang": "eng",
"value": "CWE-20: Improper Input Validation"
}
]
}
]
},
"references": {
"reference_data": [
{
"name": "https://next-auth.js.org/configuration/initialization#advanced-initialization",
"refsource": "MISC",
"url": "https://next-auth.js.org/configuration/initialization#advanced-initialization"
},
{
"name": "https://github.com/nextauthjs/next-auth/security/advisories/GHSA-xv97-c62v-4587",
"refsource": "CONFIRM",
"url": "https://github.com/nextauthjs/next-auth/security/advisories/GHSA-xv97-c62v-4587"
},
{
"name": "https://github.com/nextauthjs/next-auth/commit/afb1fcdae3cc30445038ef588e491d139b916003",
"refsource": "MISC",
"url": "https://github.com/nextauthjs/next-auth/commit/afb1fcdae3cc30445038ef588e491d139b916003"
},
{
"name": "https://en.wikipedia.org/wiki/Email_address#Local-part",
"refsource": "MISC",
"url": "https://en.wikipedia.org/wiki/Email_address#Local-part"
},
{
"name": "https://next-auth.js.org/configuration/callbacks#sign-in-callback",
"refsource": "MISC",
"url": "https://next-auth.js.org/configuration/callbacks#sign-in-callback"
},
{
"name": "https://next-auth.js.org/providers/email",
"refsource": "MISC",
"url": "https://next-auth.js.org/providers/email"
},
{
"name": "https://next-auth.js.org/providers/email#normalizing-the-e-mail-address",
"refsource": "MISC",
"url": "https://next-auth.js.org/providers/email#normalizing-the-e-mail-address"
},
{
"name": "https://nodemailer.com/message/addresses",
"refsource": "MISC",
"url": "https://nodemailer.com/message/addresses"
}
]
},
"source": {
"advisory": "GHSA-xv97-c62v-4587",
"discovery": "UNKNOWN"
}
}
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2022-35924",
"datePublished": "2022-08-02T17:55:13.000Z",
"dateReserved": "2022-07-15T00:00:00.000Z",
"dateUpdated": "2025-04-23T17:54:19.705Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.1"
}
}
}
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
How durations are calculated
Following the VTEM framework (Black Hat USA 2015), time to patch starts when the vendor or a coordinator was informed, total time to patch at discovery, and disclosure to patch at public disclosure; vendor response time runs from the report to its acknowledgement. Time to exploit and time unpatched start at the earliest discovery or report, falling back to public disclosure. Unpatched time ends at the first recorded patch, or the calculation time when no patch is recorded. Exploitation to patch shows the interval between those two events; a published proof of concept is a public exploit, not exploitation.
Each result shows its source dates. A negative interval means the end event came first; when date-only inputs leave the order open, the result says so. Date-only inputs are approximate. The earliest evidence wins: KEV report dates and sightings are labelled as such. Records describing another vulnerability are listed but never calculated from, and a PoC alone does not establish exploitation. Missing patch evidence does not prove that no patch exists. Filters below change the event list only.
Loading timeline…
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.