
An information exposure vulnerability in Datart v1.0.0-rc.3 allows authenticated attackers to access sensitive data via a custom H2 JDBC connection string.
CVE ID: CVE-2025-70829
Product: Datart
Version: v1.0.0-rc.3
Vulnerability Type: Information Exposure
An information exposure vulnerability in Datart v1.0.0-rc.3 allows authenticated attackers to access sensitive data via a custom H2 JDBC connection string. By guiding the application to connect to its own internal database file, attackers can query system tables containing user credentials and configuration details.
jdbc:h2:file:./bin/h2/datart.demo;MODE=MySQL
By retrieving the user's password hash from the database, attackers can forge a valid JWT token to impersonate any user (e.g., administrator). This is because the application uses a hardcoded secret key (d@a$t%a^r&a*t) and includes the password hash's Java hashCode() in the token payload.
SQL Query:
SELECT id, username, email, password, name FROM user;
Exploitation: Use the retrieved
passwordhash withjwttest.pyto generate a validBearertoken for arbitrary user login.
Attackers can also retrieve configuration for other connected data sources.
SQL Query:
SELECT * FROM source;
Decryption:
The config field in the source table is often encrypted using AES. The application uses a default hardcoded security key:
Default Security Key:
d@a$t%a^r&a*t
You can use the provided Decrypt.java utility (which includes this default key) to decrypt these values and obtain cleartext credentials for external databases.