criticalCWE-798A07:2021

Cadena de Conexion Expuesta

URLs de conexion a base de datos con usuario y password hardcodeadas en el codigo fuente, dejando las credenciales accesibles a cualquiera con acceso al repositorio.

Cómo Funciona

Los desarrolladores frecuentemente hardcodean cadenas de conexion a la base de datos directamente en archivos fuente o configuracion que se commitea al control de versiones. Estas cadenas contienen la URI completa incluyendo usuario, password, host y nombre de la base de datos. Una vez pusheadas a un repositorio — incluso uno privado — las credenciales quedan accesibles para todos los colaboradores y persisten en el historial de git para siempre. Los atacantes que obtienen cualquier nivel de acceso al repo pueden extraer estas credenciales y conectarse directamente a la base de datos. Scanners automatizados en GitHub buscan constantemente cadenas de conexion expuestas en repositorios publicos.

Código Vulnerable
const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient({
  datasources: {
    db: { url: 'postgresql://admin:s3cretPass@db.example.com:5432/myapp' }
  }
});
Código Seguro
const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient({
  datasources: {
    db: { url: process.env.DATABASE_URL }
  }
});

Ejemplo Real

En 2022, Toyota revelo que un subcontratista publico accidentalmente codigo fuente con credenciales de base de datos en un repositorio publico de GitHub durante casi cinco anos, exponiendo potencialmente datos de 296,019 clientes incluyendo correos electronicos y numeros de gestion de clientes.

Cómo Prevenirlo

  • Guarda todas las cadenas de conexion en variables de entorno, nunca en el codigo fuente
  • Agrega archivos .env al .gitignore antes del primer commit
  • Usa herramientas de escaneo de secretos como GitGuardian o GitHub Secret Scanning
  • Rota las credenciales inmediatamente si alguna vez se commitearon al control de versiones

Tecnologías Afectadas

Node.jsPythonJavaPHPGo

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas