
CVE-2023-38646 è una vulnerabilità di esecuzione remota di codice in Metabase. La vulnerabilità deriva da un difetto di sicurezza nella gestione delle stringhe di connessione JDBC da parte di Metabase durante l'elaborazione dell'endpoint API non autenticato /api/setup/validate. Un attaccante può sfruttare questo endpoint per eseguire comandi arbitrari sul server costruendo una specifica stringa di connessione JDBC, senza necessità di autenticazione.
CVE-2023-38646 è una vulnerabilità di esecuzione remota di codice in Metabase. La vulnerabilità deriva da un difetto di sicurezza nella gestione delle stringhe di connessione JDBC da parte di Metabase quando processa l'endpoint API non autenticato /api/setup/validate. Un attaccante può costruire una specifica stringa di connessione JDBC e utilizzare questo endpoint per eseguire comandi arbitrari sul server, senza bisogno di autenticazione.
In particolare, l'attaccante ottiene prima il setup-token accedendo a /api/session/properties, quindi utilizza tale token per inviare a /api/setup/validate una richiesta contenente una stringa di connessione JDBC malevola. Poiché Metabase non applica una sufficiente validazione di sicurezza a queste richieste, l'attaccante riesce a eseguire codice arbitrario nell'ambito dei permessi del server.
Questa vulnerabilità esiste principalmente perché Metabase, nel gestire la configurazione delle connessioni al database, non applica una rigorosa validazione di sicurezza alle stringhe di connessione JDBC fornite dall'utente, consentendo così a un attaccante di realizzare l'esecuzione remota di codice tramite richieste appositamente formulate.