MySQL vulnérable à une attaque de force même pas brute

Avis aux administrateurs système, une très grosse faille de sécurité a été découverte il y a quelques jours dans MySQL, et de nombreux exploits circulent déjà. En fait, exploiter cette faille est à la portée du script kiddie le plus novice qui soit.

Cette faille permet de se connecter au service par une attaque en force brute, pour peu qu'un nom d'utilisateur soit connu. Et comme la plupart des MySQL ont comme nom d'utilisateur, avec tous les droits, root au admin, cela devient un jeu d'enfant.

Le défaut a son origine dans le fait que le code part du principe que la fonction memcmp() qui est utilisée pour tester la validité du mot de passe retourne toujours une valeur comprise en -127 et 127. Cependant, selon les optimisations du compilateur utilisées pour compiler MySQL, une valeur en dehors de ces bornes peut être retournée, qui fera déduire au code qu'un mot de passe complètement faux est valide.

En fait, la faille est telle qu'il y a une chance sur 256 qu'un mot de passe erroné soit accepté. Attaquer ainsi MySQL en force brute devient un jeu d'enfant. A ce niveau est-ce qu'on peut même parler de force brute ? :-).

Bref un utilisateur de votre système cassera MySQL avec un script shell rudimentaire :
for i in `seq 1 1000`; do mysql -u root --password=bad -h 127.0.0.1 2>/dev/null; done

Et si votre MySQL est accessible sur le réseau, alors votre service est ouvert aux quatre vents. Ajustez vite votre configuration. Lire la suite de l'article...

Auteur : Frédéric Mazué, PROgrammez !.

Sur le même sujet : Faille sérieuse pour MySQL, ZATAZ.com

Les derniers produits des risques professionnels