salam alikoum

vulnérabilité de sécurité dans MySQL 5.1.61 à, 5.2.11, 5. / MariaDB sql / password.c

solution : http://jerais.com/plug/2012/06/mysql...vulnerability/

traduction google

La vulnérabilité de sécurité dans MySQL / MariaDB sql / password.c
De : Sergei Golubchik <serg () montyprogram com> Date de : Sat, 9 juin 2012 17:30:38 0200

Salut

Nous avons récemment découvert un bogue de sécurité sérieux dans MariaDB et de MySQL.
Donc, ici, nous aimerions vous faire connaître ce que la question et son impact
est. A la fin vous pouvez trouver un patch, au cas où vous avez besoin de patcher une ancienne
unsuported MySQL version.

Tout MariaDB et les versions de MySQL 5.1.61 à, 5.2.11, 5.3.5, 5.5.22 sont
vulnérables.
Versions de MariaDB 5.1.62, 5.2.12, 5.3.6, 5.5.23 ne sont pas.
Versions de MySQL de 5.1.63, 5.5.24, 5.6.6 ne sont pas.

Cette question m'a attribué un identifiant CVE-2012-2122.

Voici la question. Quand un utilisateur se connecte à MariaDB / MySQL, un jeton (SHA
plus un mot de passe et une chaîne aléatoire de brouillage) est calculée et comparée
avec la valeur attendue. En raison de la coulée incorrecte, il pourrait avez
arrivé que le jeton et la valeur attendue ont été considérés comme égaux,
même si le memcmp () retourné une valeur non nulle. Dans ce cas,
MySQL / MariaDB pourrait penser que le mot de passe est correct, même s'il est
pas. Parce que le protocole utilise des chaînes aléatoires, la probabilité de
frapper ce bug est d'environ 1/256.

Ce qui signifie, si l'on sait un nom d'utilisateur pour se connecter (et "root" presque
existe toujours), elle peut se connecter en utilisant un mot de passe * * en répétant
tentatives de connexion. ~ 300 tentatives ne prend qu'une fraction de seconde, de sorte
essentiellement la protection mot de passe est aussi bon que inexistant.
Tout client fera, il n'y a pas besoin d'une bibliothèque spéciale libmysqlclient.

Mais pratiquement il vaut mieux qu'il n'y paraît - de nombreux MySQL / MariaDB construit
ne sont pas affectés par ce bug.

Que ce soit une construction particulière de MySQL ou MariaDB est vulnérable, dépend de
comment et où il a été construit. Un préalable est un memcmp () qui peut renvoyer
un nombre entier arbitraire (en dehors de -128 .. 127 plage). Pour ma gcc connaissances
builtin memcmp est sûr, memcmp libc BSD est sûr. Glibc sous Linux
sse-optimisé memcmp n'est pas sûr, mais gcc utilise généralement le inline
la version builtin.

Pour autant que je sais, fournisseur officiel de MySQL et MariaDB binaires ne sont pas
vulnérables.

Cordialement,
Sergei Golubchik
MariaDB coordonnateur de la sécurité

source ...