mediumCWE-209A05:2021

Mensajes de Error Verbosos

Mensajes de error detallados, stack traces o rutas internas enviados al cliente o logueados públicamente, dándole a los atacantes un mapa de tus internals.

Cómo Funciona

Los stack traces revelan rutas de archivos, versiones de librerías, nombres de funciones y a veces schemas de bases de datos. Un atacante que ve `Error: column 'password_hash' of relation 'users' does not exist` aprende la estructura de tu tabla. Los mensajes de error son reconocimiento gratuito.

Código Vulnerable
// MAL: error crudo enviado al cliente
export async function POST(req: Request) {
  try {
    const user = await db.users.create({ data: await req.json() });
    return Response.json(user);
  } catch (error) {
    return Response.json({ error: error.message, stack: error.stack }, { status: 500 });
  }
}
Código Seguro
// BIEN: mensaje genérico al cliente, detalles a los logs
export async function POST(req: Request) {
  try {
    const user = await db.users.create({ data: await req.json() });
    return Response.json(user);
  } catch (error) {
    console.error('[/api/users POST]', error); // solo en el servidor
    return Response.json({ error: 'Algo salió mal' }, { status: 500 });
  }
}

Ejemplo Real

Una app Next.js en modo desarrollo fue deployada accidentalmente a producción. El overlay de errores detallado exponía stack traces completos incluyendo rutas absolutas de archivos e internals de Prisma a cualquier visitante que provocara un error.

Cómo Prevenirlo

  • Devuelve mensajes de error genéricos a los clientes (ej. 'Algo salió mal') en producción
  • Loguea errores detallados server-side con Sentry o logging estructurado — nunca en la respuesta
  • Asegúrate de tener NODE_ENV=production en tu entorno de deployment para deshabilitar overlays de dev
  • Nunca envíes stack traces, rutas de archivos o detalles de queries en las respuestas de tu API

Tecnologías Afectadas

nodejsNext.jsPythonGoPHP

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas