
Vulnerabilidad de bypass de autenticación basada en PIN en Kaiten
Kaiten - un sistema de gestión de flujos de trabajo. Una vulnerabilidad en Kaiten permite a los atacantes omitir el mecanismo de autenticación por código PIN. La aplicación requiere que los usuarios ingresen un código PIN de 6 dígitos enviado a su correo electrónico para autorizarse después de introducir sus credenciales de inicio de sesión. Sin embargo, el mecanismo de limitación de solicitudes se puede omitir fácilmente, lo que permite a los atacantes realizar un ataque de fuerza bruta para adivinar el PIN correcto y obtener acceso no autorizado a la aplicación.
Detalles:
El mecanismo de autenticación utiliza un único factor enviado por correo electrónico, sin ninguna contraseña :)
Se puede omitir la limitación de velocidad utilizando la cabecera X-Forwarded-For, lo que permite que el contador X-RateLimit-Remaining se restablezca.

Este método permite continuar realizando solicitudes sin recibir respuestas HTTP 429 Too Many Requests, que suelen aparecer tras múltiples intentos.

Además, no hay límites para solicitar un nuevo código PIN => el atacante puede adivinar el código PIN mediante un ataque de fuerza bruta. El tiempo de expiración del código PIN es de 5 minutos; por lo tanto, el atacante tiene 5 minutos para intentar adivinar el código PIN de 6 dígitos. Con ~150 RPS, el atacante puede probar ~45,000 códigos PIN. Según los cálculos matemáticos, tras todos los intentos, se puede alcanzar una probabilidad de éxito del 50% en 33 minutos y del 100% en 4 horas.
Versiones vulnerables:
<= 57.131.12
Enlaces:
Simplemente descarga el script bash y ejecútalo con el nombre de usuario seleccionado (solo login, ¡no correos electrónicos!)
bash CVE-2024-41276.sh <input_user> <kaiten.example.com>
Como resultado: Resultado exitoso => Obtener una cookie válida para uso posterior.
