Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en NextAuth.js (CVE-2022-31127)

Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-79 Neutralización incorrecta de la entrada durante la generación de la página web (Cross-site Scripting)
Fecha de publicación:
06/07/2022
Última modificación:
14/07/2022

Descripción

NextAuth.js es una completa solución de autenticación de código abierto para aplicaciones Next.js. Un atacante puede pasar una entrada comprometida al correo electrónico [signin endpoint](https://next-auth.js.org/getting-started/rest-api#post-apiauthsigninprovider) que contiene algún HTML malicioso, engañando al servidor de correo electrónico para que lo envíe al usuario, y así poder llevar a cabo un ataque de phishing. Eg.: "balazs@email.com, (a href="http://attacker.com")Before signing in, claim your money!(/a)". Anteriormente era enviado a "balazs@email.com", y el contenido del correo electrónico que contenía un enlace al sitio del atacante era renderizado en el HTML. Esto ha sido mitigado en las siguientes versiones, simplemente no renderizando ese correo electrónico en el HTML, ya que debería ser obvio para el receptor qué correo electrónico fue usado: los usuarios de next-auth versiones v3 anteriores a 3.29.8 están afectados. (Recomendamos actualizar a la versión v4, ya que la versión v3 es considerada sin mantenimiento. Los usuarios de next-auth versiones v4 anteriores a 4.9.0 están afectados. Si por alguna razón no puedes actualizar, la mitigación requiere que sea saneado el parámetro "email" que es pasado a "sendVerificationRequest" y es mostrado en el HTML. Si no has creado un "sendVerificationRequest" personalizado, sólo tienes que actualizar. En caso contrario, asegúrese de excluir "email" del cuerpo del HTML o de sanearlo eficazmente

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:nextauth.js:next-auth:*:*:*:*:*:node.js:*:* 3.29.8 (excluyendo)
cpe:2.3:a:nextauth.js:next-auth:*:*:*:*:*:node.js:*:* 4.0.0 (incluyendo) 4.9.0 (excluyendo)