mediumCWE-215A05:2021

Modo Debug Activo en Producción

El modo debug habilitado en producción expone estado interno, habilita logging detallado y a veces activa endpoints de debugging interactivos que los atacantes pueden explotar.

Cómo Funciona

Los flags de debug en frameworks y herramientas activan comportamiento adicional: páginas de error detalladas, logging de queries, endpoints de inspección de memoria o REPLs interactivos. En producción, estos se convierten en vulnerabilidades de divulgación de información y ejecución remota de código.

Código Vulnerable
// MAL: flags de debug activos en config de producción
// next.config.ts
const config = {
  debug: true,  // loguea operaciones internas de Next.js
};
// O: iniciando Node con --inspect=0.0.0.0:9229 (¡vincula el debugger a todas las interfaces!)
Código Seguro
// BIEN: funciones de debug condicionales según el entorno
// next.config.ts
const config = {
  debug: process.env.NODE_ENV !== 'production',
};
// Nunca inicies servidores de producción con --inspect o --inspect-brk
// Usa debugging remoto solo con un túnel seguro (no abierto a internet)

Ejemplo Real

CVE-2019-13139 y problemas relacionados mostraron que los builds de Docker con --debug o sockets del daemon expuestos permitían ejecución remota de código. El inspector de Node.js en 0.0.0.0:9229 ha sido explotado en entornos cloud donde el puerto 9229 era accesible.

Cómo Prevenirlo

  • Nunca pases --inspect o --inspect-brk a node en producción
  • Haz todos los flags de debug condicionales en NODE_ENV !== 'production'
  • Audita tu configuración de process manager (PM2, supervisor) en busca de flags de debug
  • Si necesitas debugging remoto, usa un túnel SSH seguro — nunca expongas el puerto de debug directamente

Tecnologías Afectadas

Node.js

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas