Member of The Internet Defense League Últimos cambios
Últimos Cambios
Blog personal: El hilo del laberinto Geocaching

Problema de gestión de claves en MySQL

Última Actualización: 23 de Marzo de 2.000 - Jueves

Artículo publicado en el boletín Una-Al-Día de Hispasec, el 16 de Febrero de 2.000.
Publicado también en el boletín IT|NEWS de BPE.News, el 18 de Febrero de 2.000.

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

http://www.tcx.se/



Python Zope ©2000 jcea@jcea.es

Más información sobre los OpenBadges

Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS