È stato scoperto un pericoloso baco in MySQL/MariaDB che potrebbe permettere l’accesso come root ad un database server.
La vulnerabilità non funziona su tutte le installazioni di MySQL (inclusa CentOS) e dipende da come è stato compilato il server.
Il problema risiede nella routine di autenticazione di un utente. Quando viene aperta una connessione a MySQL/MariaDB viene generato un token calcolando un SHA della password fornita e di una stringa casuale; il token viene quindi confrontato con l’SHA calcolato con il valore corretto. Per un errore di cast potrebbe succedere che le due stringhe vengano considerate uguali anche se non lo sono e anche se memcmp() ritorna un valore diverso da zero; se si verifica questo caso, MySQL/MariaDB pensa che la password sia corretta e permette l’accesso. La probabilità che questo accada è di 1/256.
In base a ciò, se l’installazione è tra quelle vulnerabili, basta conoscere il nome di un utente valido (di solito root è un utente valido) e fare circa 200 tentativi per guadagnare l’accesso.
Questa command line bash riesce a far guadagnare quasi istantaneamente l’accesso ad un MySQL/MariaDB locale che presenta questo problema:
for i in `seq 1 1000`; do mysql -u root --password=pippo -h 127.0.0.1 2>/dev/null; done
Ovviamente i server MySQL/MariaDB che non sono accessibili da Internet sono meno vulnerabili, posto che i binari siano soggetti a questo baco. (via ISC, The Hacker News)
Lascia un commento