
Vulnérabilité de contournement de l'authentification par PIN dans Kaiten
Kaiten - un système de gestion de workflow. Une vulnérabilité dans Kaiten permet aux attaquants de contourner le mécanisme d'authentification par code PIN. L'application exige que les utilisateurs saisissent un code PIN à 6 chiffres envoyé par e-mail pour l'autorisation après avoir entré leurs identifiants de connexion. Cependant, le mécanisme de limitation des requêtes peut être facilement contourné, permettant aux attaquants de mener une attaque par force brute pour deviner le code PIN correct et obtenir un accès non autorisé à l'application.
Détails :
Le mécanisme d'authentification utilise un seul facteur envoyé par e-mail, sans aucun mot de passe :)
Le contournement des limites de taux peut être réalisé en utilisant l'en-tête X-Forwarded-For, ce qui permet de réinitialiser le compteur X-RateLimit-Remaining.

Cette méthode permet de continuer à envoyer des requêtes sans recevoir de réponses HTTP 429 Too Many Requests, qui surviennent normalement après plusieurs tentatives.

De plus, il n'y a pas de limitation pour demander un nouveau code PIN => l'attaquant peut deviner le code PIN par attaque par force brute. Le code PIN expire après 5 minutes, l'attaquant dispose donc de 5 minutes pour tenter de deviner un code PIN à 6 chiffres. Avec ~150 requêtes par seconde (RPS), l'attaquant peut essayer ~45 000 codes PIN. Après toutes les tentatives, avec un calcul mathématique, une probabilité de succès de 50 % peut être atteinte en 33 minutes et 100 % en 4 heures.
Versions vulnérables :
<= 57.131.12
Liens :
Téléchargez simplement le script bash et exécutez-le avec le nom d'utilisateur choisi (uniquement le login, pas les e-mails !)
bash CVE-2024-41276.sh <input_user> <kaiten.example.com>
Résultat : En cas de succès => Obtenez un cookie valide pour une utilisation ultérieure
