
DifuseHQ Kalmia CMS version 0.2.0 contient une vulnérabilité de contrôle d'accès incorrect dans le point de terminaison API /kal-api/auth/users. En raison d'une validation insuffisante des autorisations et d'une exposition excessive des données côté backend, un utilisateur authentifié disposant d'autorisations de lecture de base peut récupérer des informations sensibles sur tous les utilisateurs de la plateforme.
Identifiant CVE : CVE-2025-65900
Produit : DifuseHQ Kalmia CMS
Version affectée : 0.2.0
Type de vulnérabilité : Contrôle d'accès incorrect
Privilèges requis : Faible (compte utilisateur en lecture seule)
Cette vulnérabilité permet à un utilisateur faiblement privilégié de récupérer des informations sensibles pour tous les comptes de la plateforme, y compris les hachages de mots de passe Blowfish. Les attaquants peuvent effectuer un cassage hors ligne, élever leurs privilèges et potentiellement compromettre des comptes administratifs, conduisant à une prise de contrôle totale du système.
En attente d'approbation du mainteneur - https://github.com/DifuseHQ/Kalmia/pull/34
DifuseHQ Kalmia CMS version 0.2.0 contient une vulnérabilité de contrôle d'accès incorrect dans le point de terminaison API /kal-api/auth/users. En raison d'une validation des permissions insuffisante et d'une exposition excessive des données dans le backend, un utilisateur authentifié disposant de permissions de lecture de base peut récupérer des informations sensibles pour tous les utilisateurs de la plateforme, y compris les hachages de mots de passe Blowfish. Cette faille permet la divulgation non autorisée de données d'identification et permet des attaques par force brute hors ligne, pouvant potentiellement mener à la compromission totale des comptes. Le problème provient de contrôles d'autorisation inappropriés dans middleware/auth.go et de données utilisateur non filtrées renvoyées par web/src/api/Requests.ts.
/kal-api/auth/jwt/create/kal-api/auth/usersL'application ne parvient pas à nettoyer correctement les informations sensibles ni à bloquer l'accès aux points de terminaison sensibles. Les utilisateurs disposant d'un accès minimal en lecture seule peuvent :
Un attaquant commence avec un compte utilisateur légitime en lecture seule sur le système Kalmia CMS.
L'attaquant se connecte au système en utilisant ses identifiants en lecture seule via le mécanisme d'authentification standard.
À l'aide d'outils comme Burp Suite, l'attaquant consulte la route API /kal-api/auth/users et visualise les informations d'accès de tous les utilisateurs.
Les hachages de mots de passe extraits sont ensuite traités à l'aide d'outils de cassage de mots de passe comme hashcat pour retrouver les mots de passe en clair.
Les mots de passe cassés avec succès fournissent un accès complet aux comptes utilisateur, y compris potentiellement aux comptes administratifs.
Le script cve-2025-65900.py automatise le processus d'exploitation :
python cve-2025-65900.py <TARGET_URL> -u <READ_ONLY_USERNAME> -p <READ_ONLY_PASSWORD>
url : URL de base de Kalmia CMS cible (requis)-u, --user : nom d'utilisateur en lecture seule (requis)-p, --password : mot de passe en lecture seule (requis)-t, --token-endpoint : point de terminaison du jeton JWT (par défaut : /kal-api/auth/jwt/create)-d, --dump : point de terminaison de dump des utilisateurs (par défaut : /kal-api/auth/users)-a, --auth : ignorer la génération du jeton et utiliser le jeton JWT fourni-o, --output : enregistrer les hachages extraits dans un fichier# Exploitation de base
python cve-2025-65900.py http://target.com:2727 -u readonly_user -p readonly_pass
# Enregistrer les hachages dans un fichier
python cve-2025-65900.py http://target.com:2727 -u readonly_user -p readonly_pass -o hashes.txt
# Utiliser un jeton JWT existant
python cve-2025-65900.py http://target.com:2727 -u readonly_user -p readonly_pass -a "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
Avertissement : Ces informations sont fournies à des fins éducatives et défensives uniquement. Les utilisateurs sont responsables de s'assurer qu'ils disposent d'une autorisation appropriée avant de tester tout système.