Cualquier usuario con acceso a un servidor MySQL y privilegios «GRANT» para cualquier base de datos o tabla en él, puede cambiar cualquier clave MySQL que desee, incluyendo la clave del propio administrador.
MySQL es una de las bases de datos SQL más populares en el mundo UNIX, por sus gran velocidad y por su licencia OpenSource. Gracias a esta apertura, ha sido posible encontrar el problema y solucionarlo de forma casi inmediata.
El problema afecta a las versiones 3.22.30 e inferiores, y ya se está distribuyendo la versión 3.22.32, que soluciona éste y otros problemas. Se recomienda una actualización inmediata.
Aquellos administradores que no puedan instalar la versión 3.22.32 en sus sistemas, pueden instalar el parche que sigue (una de las virtudes del software OpenSource):
*** /my/monty/master/mysql-3.23.8-alpha/sql/sql_parse.cc Fri Dec
31 13:53:03 1999
— ./sql_parse.cc Mon Jan 10 21:53:59 2000
***************
*** 1222,1227 ****
— 1222,1246 —-
tables ? &tables->grant.privilege : 0,
tables ? 0 : 1))
goto error;
+
+ /* Check that the user isn’t trying to change a password for another
+ user if he doesn’t have UPDATE privilege to the MySQL database
*/
+
+ List_iterator
+ LEX_USER *user;
+ while ((user=user_list++))
+ {
+ if (user->password.str &&
+ (strcmp(thd->user,user->user.str) ||
+ user->host.str && my_strcasecmp(user->host.str,
+ thd->host ? thd->host :
thd->ip)))
+ {
+ if (check_access(thd, UPDATE_ACL, «mysql»,0,1))
+ goto error;
+ break; // We are allowed to< do changes
+ }
+ }
+
if (tables)
{
if (grant_option && check_grant(thd,
Como hemos dicho, se recomienda una actualizaci¢n inmediata a 3.22.32.
Debido a que esta versi¢n es poblica desde hace muy pocos d¡as, es posible que muchos de los «mirrors» de MySQL todav¡a no se hayan actualizado. En ese caso se recomienda descargar dicha versi¢n desde el web de sus propios autores, que es el oltimo enlace que se indica.
M s informaci¢n:
MySQL
http://www.mysql.com
Jesos Cea Avi¢n
jcea@hispasec.com