
Una vulnerabilità di esposizione delle informazioni in Datart v1.0.0-rc.3 consente ad attaccanti autenticati di accedere a dati sensibili tramite una stringa di connessione JDBC H2 personalizzata.
CVE ID: CVE-2025-70829
Prodotto: Datart
Versione: v1.0.0-rc.3
Tipo di Vulnerabilità: Esposizione di Informazioni
Una vulnerabilità di esposizione di informazioni in Datart v1.0.0-rc.3 consente ad attaccanti autenticati di accedere a dati sensibili tramite una stringa di connessione JDBC H2 personalizzata. Guidando l'applicazione a connettersi al proprio file di database interno, gli attaccanti possono interrogare le tabelle di sistema contenenti credenziali utente e dettagli di configurazione.
jdbc:h2:file:./bin/h2/datart.demo;MODE=MySQL
Recuperando l'hash della password dell'utente dal database, gli attaccanti possono forgiare un token JWT valido per impersonare qualsiasi utente (ad esempio, amministratore). Questo perché l'applicazione utilizza una chiave segreta hardcoded (d@a$t%a^r&a*t) e include l'hashCode() Java dell'hash della password nel payload del token.
Query SQL:
SELECT id, username, email, password, name FROM user;
Sfruttamento: Utilizzare l'hash
passwordrecuperato conjwttest.pyper generare un tokenBearervalido per l'accesso arbitrario come utente.
Gli attaccanti possono anche recuperare la configurazione di altre origini dati connesse.
Query SQL:
SELECT * FROM source;
Decifratura:
Il campo config nella tabella source è spesso crittografato usando AES. L'applicazione utilizza una chiave predefinita hardcoded:
Chiave di Sicurezza Predefinita:
d@a$t%a^r&a*t
È possibile utilizzare l'utilità Decrypt.java fornita (che include questa chiave predefinita) per decifrare questi valori e ottenere credenziali in chiaro per database esterni.