highCWE-327A02:2021

Fallos Criptográficos

Datos sensibles expuestos por encriptación débil o faltante — usar algoritmos obsoletos como MD5/SHA1, guardar passwords en texto plano o transmitir datos sin TLS.

Cómo Funciona

Los fallos criptográficos ocurren cuando los datos sensibles no están protegidos correctamente. Esto incluye usar algoritmos de hashing débiles (MD5, SHA1) para passwords, guardar datos en texto plano, no usar HTTPS, o usar encriptación rota. Los atacantes que interceptan tráfico de red o acceden a la base de datos pueden leer todo. Incluso datos hasheados son vulnerables con algoritmos débiles — MD5 se puede crackear en segundos con rainbow tables.

Código Vulnerable
const crypto = require('crypto');
const hash = crypto.createHash('md5')
  .update(password).digest('hex');
await db.users.create({ email, password: hash });
Código Seguro
const bcrypt = require('bcrypt');
const hash = await bcrypt.hash(password, 12);
await db.users.create({ email, password: hash });

Ejemplo Real

La brecha de Adobe en 2013 expuso 153 millones de registros. Los passwords estaban encriptados con 3DES en modo ECB (no hasheados), haciéndolos trivialmente reversibles. Millones de passwords fueron crackeados en días.

Cómo Prevenirlo

  • Usa bcrypt, scrypt o Argon2 para hashear passwords
  • Nunca uses MD5 o SHA1 para propósitos de seguridad
  • Fuerza HTTPS en todos lados con headers HSTS
  • Encripta datos sensibles en reposo usando AES-256-GCM

Tecnologías Afectadas

Node.jsReactNext.jsPythonGoJavaPHPC#

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas