Alta

Improper Handling of `callbackUrl` parameter in next-auth

  • Publicada: 21.06.2022
  • Actualizado: 11.10.2026 10:22

Impact

An attacker can send a request to an app using NextAuth.js with an invalid callbackUrl query parameter, which internally we convert to a URL object. The URL instantiation would fail due to a malformed URL being passed into the constructor, causing it to throw an unhandled error which led to our API route handler timing out and logging in to fail. This has been remedied in the following releases:

next-auth v3 users before version 3.29.5 are impacted. (We recommend upgrading to v4, as v3 is considered unmaintained. See our migration guide)

next-auth v4 users before version 4.5.0 are impacted.

Patches

We've released patches for this vulnerability in:

  • v3 - 3.29.5
  • v4 - 4.5.0

You can do:

bash
npm i next-auth@latest

or

bash
yarn add next-auth@latest

or

bash
pnpm add next-auth@latest

(This will update to the latest v4 version, but you can change latest to 3 if you want to stay on v3. This is not recommended.)

Workarounds

If for some reason you cannot upgrade, the workaround requires you to rely on Advanced Initialization. Here is an example:

Before:

js
// pages/api/auth/[...nextauth].js
import NextAuth from "next-auth"

export default NextAuth(/* your config */)

After:

js
// pages/api/auth/[...nextauth].js
import NextAuth from "next-auth"

function isValidHttpUrl(url) {
  try {
    return /^https?:/.test(url).protocol
  } catch {
    return false;
  }
}

export default async function handler(req, res) {
  if (
    req.query.callbackUrl &&
    !isValidHttpUrl(req.query.callbackUrl)
  ) {
   return res.status(500).send('');
  }
  
  return await NextAuth(req, res, /* your config */)
}

References

This vulnerability was discovered not long after https://github.com/nextauthjs/next-auth/security/advisories/GHSA-q2mx-j4x2-2h74 was published and is very similar in nature.

Related documentation:

A test case has been added so this kind of issue will be checked before publishing. See: https://github.com/nextauthjs/next-auth/commit/e498483b23273d1bfc81be68339607f88d411bd6

For more information

If you have any concerns, we request responsible disclosure, outlined here: https://next-auth.js.org/security#reporting-a-vulnerability

Timeline

The issue was reported 2022 June 10th, a response was sent out to the reporter in less than 2 hours, and a patch was published within 3 hours.

Software afectado

Haz clic en una tecnología para ver todas sus vulnerabilidades.

PlataformaPaqueteVersiones vulnerablesCorregida en
Paquete de npm next-auth < 3.29.5, >= 4.0.0, < 4.5.0 3.29.5, 4.5.0

Referencias

Puntuación CVSS 7.5/10
Vector CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Debilidad (CWE)
CWE-754
Plataforma
npm
Paquete
next-auth
Publicada
21.06.2022
Actualizado
11.10.2026 10:22

Fuentes y licencias

OSV / GitHub Advisory Database - GHSA-g5fm-jp9v-2432 - CC BY 4.0

Historial de vulnerabilidades: next-auth

Todas las vulnerabilidades publicadas de este paquete (Paquete de npm), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.

Todas (14) en el archivo
Entradas en total
14
Primera → última
02.2021 07.2026
Sin corrección
0
Explotada en ataques
0

Distribución por gravedad

  • Crítica 3
  • Alta 4
  • Media 5
  • Baja 2

Divulgaciones por año

  1. 2021: 1
  2. 2022: 6
  3. 2023: 2
  4. 2024: 0
  5. 2025: 1
  6. 2026: 4
Gravedad:
  1. Alta · 7.5 CVE-2026-73418 >= 5.0.0-beta.0, < 5.0.0-beta.32, >= 4.0.6, < 4.24.15 5.0.0-beta.32, 4.24.15
  2. Crítica CVE-2026-73420 >= 4.10.3, < 4.24.15, >= 5.0.0-beta.1, < 5.0.0-beta.32 4.24.15, 5.0.0-beta.32
  3. Crítica · 9.1 CVE-2022-35924 >= 4.0.0, < 4.10.3, < 3.29.10 4.10.3, 3.29.10
  4. Alta · 7.1 CVE-2022-31127 < 3.29.8, >= 4.0.0, < 4.9.0 3.29.8, 4.9.0
  5. Improper Handling of `callbackUrl` parameter in next-auth esta entrada
    Alta · 7.5 CVE-2022-31093 < 3.29.5, >= 4.0.0, < 4.5.0 3.29.5, 4.5.0

Identifica las vulnerabilidades de tu aplicación

Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.

Conectar tu aplicación
Newsletter DockRay

La seguridad de tus aplicaciones en tu correo

Vulnerabilidades importantes, recomendaciones concretas y consejos prácticos para tus aplicaciones. Elige tus tecnologías y sigue lo que importa para tu proyecto.

  • Un resumen diario de nuevas vulnerabilidades, también las críticas.
  • Avisos sobre actualizaciones importantes.
  • Consejos prácticos sobre seguridad y monitorización de aplicaciones.

Déjalo vacío para recibir avisos de todas las tecnologías.

Suscripción gratuita. Date de baja con un clic en cualquier correo.