MySQL est l’une des bases de données les plus utilisées dans le monde. Selon le classement du mois de novembre de DB-Engines, cette base de données relationnelles est le second au monde en termes de popularité juste derrière Oracle. Vu la grande proportion de ses utilisateurs, un problème découvert au sein de ce système de gestion de base de données relationnelles (SGBDR) affecterait donc un grand nombre d’utilisateurs.
Récemment, un hacker éthique du nom de Dawid Golunski a découvert une vulnérabilité liée à une situation de compétition au sein de MySQL et des produits dérivés de ce système notamment MariaDB et PerconaDB. Une situation de compétition est un défaut dans un système caractérisé par un résultat différent selon l’ordre dans lequel agissent les acteurs du système. Dans ce cas de figure, l’exécution de la déclaration REPAIR TABLE SQL par un utilisateur doté de privilèges réduits comme la sélection, la création et l’insertion est effectuée de manière non sécurisée. En conséquence, cela permet à un utilisateur local doté de droits d’accès limités dans une base de données d’élever ses privilèges afin d’exécuter du code arbitraire comme un utilisateur ayant des droits sur toutes les bases de données sur le serveur de base de données.
De manière détaillée, une fois que le tiers malveillant a eu accès à l’ensemble de ces bases de données sur le serveur, il peut se servir de deux autres vulnérabilités découvertes et qui ont pour référence CVE-2016-6662 et CVE-2016-6664. La vulnérabilité CVE-2016-6664 permet à l’attaquant d’avoir accès aux répertoires /var/log ou /var/lib/mysql. Une fois à ce niveau, il suffit de supprimer le fichier error.log et de le remplacer avec un lien symbolique afin d’élever les privilèges.
L’élévation de privilèges pourrait être déclenchée instantanément sans redémarrage du service de MySQL en mettant fin au processus enfant de mysqld. Lorsque le processus enfant de mysqld est arrêté, le wrapper va effectuer une boucle et créer immédiatement un autre fichier MySQL dans un emplacement spécifié dans le lien symbolique par l’attaquant afin de permettre à ce dernier d’élever immédiatement ses privilèges.
La faille CVE-2016-6662 pour sa part est utilisée pour mener une attaque d’injection de code SQL. Si l’attaque réussie, elle permet à un tiers malveillant d’exécuter du code arbitraire avec des privilèges root qui compromettrait le serveur sur lequel de MySQL est exécutée.
Cette faille liée à la situation de compétition combinée aux deux autres failles afin de compromettre les serveurs de MySQL et dérivés affecte les implémentations des versions 5.5.51, 5.6.32, 5.7.14 ou inférieures de MySQL. Au niveau de MariaDB, ce sont les binaires inférieures aux versions 5.5.52, 10.1.18 et 10.0.28 qui sont touchées par ces failles. Pour ce qui concerne Percona, ce sont les logicels inférieurs aux versions 5.5.51-38.2, 5.6.32-78-1, 5.7.14-8 de Percona Server et les applications antérieures aux versions 5.6.32-25.17, 5.7.14-26.17, 5.5.41-37.0 de Percona XtraDB Cluster qui sont affectées par ces failles.
Oracle et Percona ont corrigé les failles détectées dans les différentes versions de leurs produits. Pour ce qui concerne MariaDB, l’équipe derrière cette base de données a corrigé la faille liée à la situation de compétition. L’élévation du privilège root sera corrigée ultérieurement dans la mesure où elle n’est pas directement exploitable. Par ailleurs, si vous n’avez pas encore appliqué les correctifs, vous pouvez déjà désactiver le support du lien symbolique dans la configuration du serveur de la base de données en appliquant les paramètres ci-dessous dans le fichier my.cnf : symbolic-links = 0. Enfin, même si cette action atténue l’exploitation des failles, il est recommandé en outre d’utiliser les correctifs mis en ligne par les différentes entreprises.
Source : Legal Hackers
Et vous ?
Que pensez-vous de ces failles ?
De quoi remettre en cause l’environnement MySQL ?
Voir aussi
Faille de sécurité : MySQL peut donner les privilèges root à des hackers, et il n'y a toujours pas de correctif
La Rubrique Embarqué, Forum Embarqué, Cours et tutoriels Embarqué, Livres Système Embarqué
Deux failles dans MySQL, MariaDB et PerconaDB permettent à un simple utilisateur d'avoir des privilèges root,
Des correctifs sont disponibles
Deux failles dans MySQL, MariaDB et PerconaDB permettent à un simple utilisateur d'avoir des privilèges root,
Des correctifs sont disponibles
Le , par Olivier Famien
Une erreur dans cette actualité ? Signalez-nous-la !