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.
// 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!)// 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
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
NODE_ENV No Configurado como Production
mediumCorrer Node.js sin NODE_ENV=production habilita mensajes de error detallados, deshabilita optimizaciones de caché y puede activar middleware solo para desarrollo.
Sin Endpoint de Health Check
lowSin un endpoint /health, los load balancers y orquestadores no pueden verificar que tu aplicación realmente funciona antes de enrutar tráfico hacia ella.
Sin Monitoreo de Errores
lowSin monitoreo de errores, los errores de producción son invisibles hasta que un usuario los reporta — lo cual la mayoría nunca hace.
Variables de Entorno de Dev en Producción
highUsar credenciales de desarrollo (API keys de prueba, URLs de base de datos local, keys de pago sandbox) en producción pone en riesgo a usuarios reales.