
Vulnerabilidade de bypass de autenticação baseada em PIN no Kaiten
Kaiten - um sistema de gerenciamento de workflow. Uma vulnerabilidade no Kaiten permite que atacantes burlem o mecanismo de autenticação por código PIN. O aplicativo exige que os usuários insiram um código PIN de 6 dígitos enviado para seu e-mail para autorização após inserir suas credenciais de login. No entanto, o mecanismo de limitação de requisições pode ser facilmente contornado, permitindo que atacantes realizem um ataque de força bruta para adivinhar o PIN correto e obter acesso não autorizado ao aplicativo.
Detalhes:
O mecanismo de autenticação usa um fator enviado por e-mail, sem qualquer senha :)
A bypass dos limites de requisição pode ser alcançada usando o cabeçalho X-Forwarded-For, que permite que o contador X-RateLimit-Remaining seja redefinido.

Este método permite continuar as requisições sem receber respostas HTTP 429 Too Many Requests, que normalmente ocorrem após múltiplas tentativas.

Além disso, não há limites para solicitar um novo código PIN => o atacante pode adivinhar o código PIN usando um ataque de força bruta. O tempo de expiração do código PIN é de 5 minutos, então o atacante tem 5 minutos para tentar adivinhar um código PIN de 6 dígitos. Com ~150 RPS o atacante pode tentar ~45.000 códigos PIN. Após todas as tentativas, com cálculo matemático, a probabilidade de sucesso de 50% pode ser alcançada em 33 minutos e 100% em 4 horas.
Versões vulneráveis:
<= 57.131.12
Links:
Baixe e execute o script bash simples com o nome de usuário selecionado (apenas login, não e-mails!)
bash CVE-2024-41276.sh <input_user> <kaiten.example.com>
Como resultado: Resultado bem-sucedido => Obter um cookie válido para uso posterior.
