
Une vulnérabilité d'exposition d'informations dans Datart v1.0.0-rc.3 permet à des attaquants authentifiés d'accéder à des données sensibles via une chaîne de connexion JDBC H2 personnalisée.
CVE ID : CVE-2025-70829
Produit : Datart
Version : v1.0.0-rc.3
Type de vulnérabilité : Exposition d'informations
Une vulnérabilité d'exposition d'informations dans Datart v1.0.0-rc.3 permet à des attaquants authentifiés d'accéder à des données sensibles via une chaîne de connexion JDBC H2 personnalisée. En amenant l'application à se connecter à son propre fichier de base de données interne, les attaquants peuvent interroger les tables système contenant les identifiants des utilisateurs et les détails de configuration.
jdbc:h2:file:./bin/h2/datart.demo;MODE=MySQL
En récupérant le hachage du mot de passe de l'utilisateur dans la base de données, les attaquants peuvent forger un jeton JWT valide pour usurper l'identité de n'importe quel utilisateur (par exemple, un administrateur). Cela est possible car l'application utilise une clé secrète codée en dur (d@a$t%a^r&a*t) et inclut le hashCode() Java du hachage du mot de passe dans le payload du jeton.
Requête SQL :
SELECT id, username, email, password, name FROM user;
Exploitation : Utilisez le hachage
passwordrécupéré avecjwttest.pypour générer un jetonBearervalide et vous connecter en tant qu'utilisateur arbitraire.
Les attaquants peuvent également récupérer la configuration d'autres sources de données connectées.
Requête SQL :
SELECT * FROM source;
Décryptage :
Le champ config de la table source est souvent chiffré avec AES. L'application utilise une clé de sécurité codée en dur par défaut :
Clé de sécurité par défaut :
d@a$t%a^r&a*t
Vous pouvez utiliser l'utilitaire Decrypt.java fourni (qui inclut cette clé par défaut) pour déchiffrer ces valeurs et obtenir les identifiants en clair pour les bases de données externes.