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 user_list(lex->users_list);
+ 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 pública 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 último enlace que se indica.
Más información:
MySQL
http://www.mysql.com
http://www.mysql.net
jcea@hispasec.com
Deja una respuesta