
DifuseHQ Kalmia CMS Version 0.2.0 ist anfällig für Benutzeraufzählung durch unterscheidbare Fehlerantworten im Authentifizierungsendpunkt /kal-api/auth/jwt/create.
CVE-ID: CVE-2025-65899
Produkt: DifuseHQ Kalmia CMS
Betroffene Version: 0.2.0
Schwachstellentyp: Beobachtbare Antwortabweichung
Erforderliche Berechtigungen: Keine
Ermöglicht es nicht authentifizierten Angreifern, gültige Benutzernamen zu enumerieren, was gezielte Passwort-Spraying-, Credential-Stuffing- und Kontenentdeckungsangriffe ermöglicht.
Wartet auf Genehmigung durch den Betreuer - https://github.com/DifuseHQ/Kalmia/pull/34
Kalmia CMS Version 0.2.0 enthält eine Benutzeraufzählungsschwachstelle im Authentifizierungsmechanismus. Die Anwendung gibt unterschiedliche Fehlermeldungen für ungültige Benutzer (user_not_found) und gültige Benutzer mit falschen Passwörtern (invalid_password) zurück. Diese beobachtbare Antwortabweichung ermöglicht es nicht authentifizierten Angreifern, gültige Benutzernamen auf dem System zu enumerieren, was für nachfolgende gezielte Angriffe wie Password-Spraying oder Social Engineering genutzt werden kann.
/kal-api/auth/jwt/createDas Authentifizierungssystem implementiert keine konsistenten Fehlerantworten und gibt Informationen über die Existenz von Benutzerkonten durch unterschiedliche Fehlermeldungen preis:
{"message": "user_not_found"} zurück{"message": "invalid_password"} zurückDieser Unterschied in den Antworten ermöglicht es Angreifern, zwischen nicht existierenden und gültigen Benutzerkonten zu unterscheiden.
Der Angreifer versucht, sich mit einem nicht existierenden Benutzernamen zu authentifizieren und beobachtet, dass die Serverantwort User not found zurückgibt.
Mithilfe von Burp Suite, um die Authentifizierungsanfrage abzufangen und zu analysieren, bestätigt der Angreifer, dass der Server für ungültige Benutzernamen user_not_found zurückgibt, was darauf hinweist, dass der Benutzer im System nicht existiert.
Beim Testen mit einem gültigen Benutzernamen, aber falschem Passwort, erfasst Burp Suite die Serverantwort mit invalid_password, was bestätigt, dass der Benutzername im System existiert.
Die Analyse der Backend-Authentifizierungslogik offenbart die fehlerhafte Implementierung, die unterschiedliche Fehlermeldungen zurückgibt:
user_not_found zurückinvalid_password zurückDieser sequentielle Validierungsprozess erzeugt die beobachtbare Abweichung, die die Benutzeraufzählung ermöglicht.
Das Skript cve-2025-65899.py automatisiert den Benutzeraufzählungsprozess:
python cve-2025-65899.py <TARGET_URL> [OPTIONS]
url: Basis-URL des Ziel-Kalmia-CMS (erforderlich)-u, --user: Einzelner zu testender Benutzername-p, --password: Für den Test zu verwendendes Passwort (erforderlich)-w, --wordlist: Wortlistendatei für die Massenbenutzeraufzählung# Test if specific user exists
python cve-2025-65899.py http://target.com:2727 -u admin -p wrongpass
# Results:
# [+] Valid user: admin (if user exists)
# OR
# (no output if user doesn't exist)
# Enumerate users from wordlist
python cve-2025-65899.py http://target.com:2727 -w users.txt -p wrongpass
# Create a simple wordlist
echo -e "admin\nuser\nadministrator\ntest\nguest" > users.txt
Haftungsausschluss: Diese Informationen werden ausschließlich zu Bildungs- und Verteidigungszwecken bereitgestellt. Benutzer sind dafür verantwortlich, sicherzustellen, dass sie vor dem Testen von Systemen über die entsprechende Autorisierung verfügen.