infoCWE-778A09:2021

Sin Notificación de Login

No notificar a los usuarios de nuevos inicios de sesión significa que no tienen forma de saber si su cuenta fue accedida desde un dispositivo desconocido.

Cómo Funciona

Las notificaciones de login dan a los usuarios un sistema de alerta temprana. Si un atacante inicia sesión con credenciales robadas, la víctima recibe un email o notificación push desde un nuevo dispositivo o ubicación — dándole la oportunidad de revocar la sesión y cambiar su contraseña antes de que se haga daño.

Código Vulnerable
// MAL: el login crea una sesión sin notificar al usuario
async function login(email: string, password: string) {
  const user = await verifyCredentials(email, password);
  const session = await createSession(user);
  return session.token; // el usuario no tiene idea de que alguien acaba de iniciar sesión
}
Código Seguro
// BIEN: notifica al usuario de nuevos logins desde dispositivos desconocidos
async function login(email: string, password: string, deviceInfo: DeviceInfo) {
  const user = await verifyCredentials(email, password);
  const session = await createSession(user, deviceInfo);
  if (!isKnownDevice(user, deviceInfo)) {
    await sendLoginAlert(user.email, deviceInfo); // email con link para revocar
  }
  return session.token;
}

Ejemplo Real

Google, Apple y los principales bancos envían notificaciones de login para nuevos dispositivos. La investigación de seguridad consistentemente muestra que las alertas de login permiten a los usuarios detectar y responder a takeovers de cuentas significativamente más rápido que sin ellas.

Cómo Prevenirlo

  • Envía una notificación por email para cada login desde un nuevo dispositivo o ubicación
  • Incluye tipo de dispositivo, ubicación aproximada y un link para revocar la sesión con un click en la notificación
  • Guarda los dispositivos conocidos por usuario (huella digital del dispositivo hasheada) para que los dispositivos recurrentes no activen alertas
  • Haz las notificaciones de login configurables pero por defecto 'activadas'

Tecnologías Afectadas

Node.js

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas