
Quando ci si connette a MariaDB/MySQL, la password inserita viene confrontata con quella corretta prevista; a causa di una gestione errata, anche se memcmp() restituisce un valore diverso da zero, MySQL può comunque considerare le due password identiche. In pratica, conoscendo solo il nome utente, è possibile accedere direttamente al database SQL tentando ripetutamente.
Versioni affette:
Link di riferimento:
Dopo i test effettuati, sebbene questo ambiente venga eseguito all'interno di un container, la riuscita della riproduzione della vulnerabilità dipende in parte anche dall'host. È preferibile che l'host sia un sistema Ubuntu o Mac, ma non è garantito che funzioni sempre; saremo lieti di ricevere ulteriori risultati di test nella sezione Issue.
Eseguire il seguente comando per avviare l'ambiente di test:
docker-compose up -d
Una volta avviato l'ambiente, verrà avviato un servizio Mysql (versione: 5.5.23) in ascolto sulla porta 3306. Con un normale client Mysql è possibile accedere direttamente; la password corretta per root è 123456.
Senza conoscere la password corretta del nostro ambiente, eseguire il seguente comando in bash; dopo un certo numero di tentativi si riuscirà ad accedere:
for i in `seq 1 1000`; do mysql -uroot -pwrong -h your-ip -P3306 ; done

Per ulteriori metodi di test e sfruttamento, consultare i link di riferimento.