Vulnerabilidad en NextAuth.js para Next.js (CVE-2023-48309)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-285
Autorización incorrecta
Fecha de publicación:
20/11/2023
Última modificación:
25/11/2023
Descripción
NextAuth.js proporciona autenticación para Next.js. Las aplicaciones `next-auth` anteriores a la versión 4.24.5 que dependen de la autorización de Middleware predeterminada se ven afectadas por una vulnerabilidad. Un mal actor podría crear un usuario vacío/simulado al obtener un JWT emitido por NextAuth.js a partir de un flujo de inicio de sesión de OAuth interrumpido (estado, PKCE o nonce). Anular manualmente el valor de la cookie `next-auth.session-token` con este JWT no relacionado permitiría al usuario simular un usuario que ha iniciado sesión, aunque no tenga información de usuario asociada. (La única propiedad de este usuario es una cadena opaca generada aleatoriamente). Esta vulnerabilidad no da acceso a los datos de otros usuarios, ni a recursos que requieran la autorización adecuada a través de alcances u otros medios. El usuario simulado creado no tiene información asociada (es decir, no tiene nombre, correo electrónico, token de acceso, etc.). Los malos actores pueden aprovechar esta vulnerabilidad para echar un vistazo a los estados de los usuarios que han iniciado sesión (por ejemplo, el diseño del panel). `next-auth` `v4.24.5` contiene un parche para la vulnerabilidad. Como workaround, al utilizar una devolución de llamada de autorización personalizada para Middleware, los desarrolladores pueden realizar manualmente una autenticación básica.
Impacto
Puntuación base 3.x
5.30
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:nextauth.js:next-auth:*:*:*:*:*:node.js:*:* | 4.24.5 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://authjs.dev/guides/basics/role-based-access-control
- https://github.com/nextauthjs/next-auth/commit/d237059b6d0cb868c041ba18b698e0cee20a2f10
- https://github.com/nextauthjs/next-auth/security/advisories/GHSA-v64w-49xw-qq89
- https://next-auth.js.org/configuration/nextjs#advanced-usage
- https://next-auth.js.org/configuration/nextjs#middlewar