
Schwachstelle zur Umgehung der PIN-basierten Authentifizierung in Kaiten
Kaiten – ein Workflow-Management-System. Eine Schwachstelle in Kaiten ermöglicht es Angreifern, den PIN-Code-Authentifizierungsmechanismus zu umgehen. Die Anwendung verlangt von Benutzern nach der Eingabe ihrer Anmeldedaten die Eingabe eines 6-stelligen PIN-Codes, der per E-Mail gesendet wird. Der Mechanismus zur Anfragebegrenzung kann jedoch leicht umgangen werden, sodass Angreifer einen Brute-Force-Angriff durchführen können, um den richtigen PIN zu erraten und unbefugten Zugriff auf die Anwendung zu erlangen.
Details:
Der Authentifizierungsmechanismus verwendet einen Faktor, der per E-Mail gesendet wird, ohne jegliches Passwort :)
Die Umgehung der Ratenbegrenzung kann durch die Verwendung des Headers X-Forwarded-For erreicht werden, wodurch der Zähler X-RateLimit-Remaining zurückgesetzt wird.

Diese Methode ermöglicht fortlaufende Anfragen, ohne HTTP 429 Too Many Requests-Antworten zu erhalten, die normalerweise nach mehreren Versuchen auftreten.

Außerdem gibt es keine Begrenzung für die Anforderung neuer PIN-Codes => ein Angreifer kann den PIN-Code per Brute-Force-Angriff erraten. Die Gültigkeitsdauer des PIN-Codes beträgt 5 Minuten, ein Angreifer hat also 5 Minuten Zeit, um einen 6-stelligen PIN-Code zu erraten. Mit ~150 RPS kann ein Angreifer ~45.000 PIN-Codes versuchen. Nach allen Versuchen kann mit mathematischer Berechnung eine Erfolgswahrscheinlichkeit von 50 % in 33 Minuten und 100 % in 4 Stunden erreicht werden.
Verwundbare Versionen:
<= 57.131.12
Links:
Einfach das Bash-Skript herunterladen und mit dem ausgewählten Benutzernamen ausführen (nur Login, keine E-Mails!)
bash CVE-2024-41276.sh <input_user> <kaiten.example.com>
Als Ergebnis: Erfolgreiches Ergebnis => Ein gültiges Cookie für die weitere Verwendung erhalten
