Un chercheur en sécurité du nom de Dawid Golunski - qui se présente comme un hacker éthique - divulgue une vulnérabilité de sécurité critique affectant la base de données MySQL, de même que ses forks communautaires parmi lesquels MariaDB.
La notion de hacker éthique associée à une divulgation publique peut faire sourciller lorsqu'il s'agit d'un exploit 0-day. Dawid Golunski indique cependant avoir prévenu Oracle le 29 juillet dernier, de même que pour MariaDB et PerconaDB.
Pour MariaDB et Percona DB, la vulnérabilité CVE-2016-6662 a été corrigée. Ce n'est par contre pas encore le cas pour MySQL, sachant que la prochaine fournée trimestrielle de mises à jour de sécurité d'Oracle est programmée pour le 18 octobre. Au crédit de Dawid Golunski, il publie une preuve de concept limitée.
La faille affecte toutes les versions des branches 5.7, 5.6 et 5.5 de MySQL (y compris 5.7.15, 5.6.33 et 5.5.52). Elle peut être exploitée en local et à distance via une attaque par injection SQL, par un attaquant avec des identifiants valides et y compris à travers une interface Web comme phpMyAdmin.
Il y a toutefois débat pour savoir s'il s'agit d'une vulnérabilité d'exécution de code à distance comme avancé et non pas d'une élévation de privilèges, dans la mesure où un certain niveau d'accès à la base de données semble nécessaire.
Selon Dawid Golunski, une exploitation permet à un attaquant d'exécuter du code arbitraire avec des privilèges root lui permettant alors de compromettre complètement le serveur sur lequel la version vulnérable de MySQL est exécutée, même avec l'activation des modules de sécurite SELinux ou AppArmor au niveau du noyau Linux.
Le problème est lié au script mysqld_safe et le fait de pouvoir précharger une bibliothèque logicielle partagée avant le démarrage du serveur, sachant que mysqld_safe est la voie recommandée pour le démarrage.
À savoir que Dawid Golunski a découvert une autre vulnérabilité CVE-2016-6663 qui faciliterait une attaque mais pour laquelle des détails n'ont pas été publiés.