mediumCWE-532A09:2021

PII en Logs

Loguear información personal identificable (email, nombre completo, IP, teléfono) crea riesgos de privacidad y cumplimiento bajo GDPR y CCPA.

Cómo Funciona

Los agregadores de logs retienen datos durante semanas o meses y frecuentemente se comparten entre equipos. Loguear direcciones de email completas, nombres o IPs convierte tu sistema de logs en un almacén de datos personales — sujeto a solicitudes de acceso GDPR, requisitos de notificación de brechas y regulaciones de retención de datos.

Código Vulnerable
// MAL: PII escrita en logs en texto plano
logger.info(`Usuario ${user.email} (${user.fullName}) inició sesión desde ${req.ip}`);
logger.error(`Pago fallido para ${user.email}, tarjeta: ${card.number}`);
logger.debug('Request body:', req.body); // puede contener PII de campos de formulario
Código Seguro
// BIEN: loguea identificadores, no PII
logger.info({ event: 'login', userId: user.id, ipHash: hash(req.ip) });
logger.error({ event: 'payment_failed', userId: user.id, last4: card.last4 });
// Nunca loguees req.body directamente — loguea solo los campos que necesitas

Ejemplo Real

En 2019, Twitter reveló que números de teléfono y direcciones de email usadas para 2FA habían sido logueadas inadvertidamente y eran accesibles para algunos equipos internos. El incidente desencadenó investigaciones GDPR en múltiples países de la UE.

Cómo Prevenirlo

  • Nunca loguees direcciones de email, nombres completos, números de teléfono o direcciones IP en texto plano
  • Usa IDs de usuario pseudonimizados en los logs en vez de información identificable
  • Configura tu logger para hashear o redactar campos PII automáticamente
  • Documenta tu política de retención de logs y asegúrate de que sea más corta que tu política de retención de datos

Tecnologías Afectadas

Node.js

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas