viernes, 18 de agosto de 2006

Solucionados dos problemas de seguridad en MySQL 5

Se han solucionado dos vulnerabilidades en MySQL que pueden ser aprovechadas por atacantes para eludir ciertas restricciones de seguridad o elevar privilegios.
MySQL es un servidor de bases de datos SQL, de código abierto, altas prestaciones y muy difundido en el mundo Linux.

El primer fallo permite a un atacante crear nuevas bases de datos aunque no tenga privilegios para ello. Si un usuario tiene acceso a una base de datos pero no tiene permisos para crear nuevas bases de datos, podrá conseguirlo si la nueva comparte nombre con la que ya tiene acceso, pero con una o más letras modificadas de minúscula a mayúscula o viceversa. Por ejemplo, si un usuario tiene acceso a la base de datos "ejemplo", podrá crear "ejempLo" aunque no tenga permisos para ello.

Esto sólo es posible si MySQL se ejecuta en un sistema de ficheros sensible a mayúsculas (por tanto MySQL no es vulnerable si se ejecuta bajo Microsoft Windows). El problema está calificado como "no crítico".

El segundo fallo se debe a que los argumentos de rutinas suid son calculados en el contexto del que ha definido la rutina, en vez de hacerlo en el contexto de seguridad del que llama a la rutina. Si un atacante tiene suficientes privilegios como para llamar a una rutina suid, podría ejecutar código (consultas o estamentos) bajo los privilegios del que ha definido la rutina suid y por lo tanto elevar sus privilegios. Este problema está calificado como de gravedad "seria"

Las vulnerabilidades, documentadas desde hace algunas semanas, han sido solucionadas en el CVS, y serán solventados en la futura versión 5.0.25 de la base de datos.

Laboratorio Hispasec
laboratorio@hispasec.com


Más información:

Trouble with "create database"
http://bugs.mysql.com/bug.php?id=17647

Arguments of suid routine calculated in wrong security context
http://bugs.mysql.com/bug.php?id=18630