| Artículos | 01 MAR 2001

Vulnerabilidad: Mysql Buffer Overflow

Tags: Histórico
Daniel Avila.
MySQL es una base de datos relacional Open Source (código libre) capaz de competir con otras aplicaciones comerciales de alto coste basadas en el lenguaje SQL (Structured Query Language, Lenguaje de Consultas Estructurado) como Oracle8 o Microsoft SQL Server.
Existe un error en la codificación de este programa en la versión 3.23.30 y anteriores que permiten a un usuario local ganar privilegios de administrador mediante una vulnerabilidad en la función SELECT.


Un usuario que tenga acceso a alguna base de datos local de nuestro servidor tiene la posibilidad de enviar una cadena de búsqueda excesivamente larga a la función SELECT, sobrescribiendo partes críticas de la pila de usuario (user stack) que pueden comprometer la seguridad del sistema. En concreto, la parte crítica se encuentra en la dirección de retorno de la función, que puede ser sobrescrita mediante un desbordamiento de la pila, y por lo tanto desviar la traza de ejecución del programa al lugar donde pretenda el atacante.
Los ataques locales basados en Buffer Overflow (Desbordamiento de Buffer Local) son muy populares en entornos UNIX, y permiten a los atacantes explotar fallos de seguridad en archivos con permisos SETUID pertenecientes al usuario root (ver recuadro).
La solución a estos problemas de desbordamiento a nivel de programación es muy sencilla, pero pocos la tienen en cuenta a la hora de programar. Simplemente debemos comprobar “siempre” el tamaño de cualquier dato pasado exteriormente a nuestro código. La forma más sencilla es usar la función estándar strncpy() en lugar de strcpy() al copiar los argumentos a nuestras variables, que nos permite indicar el tamaño máximo de caracteres a copiar.
Los sistemas afectados son las diferentes versiones de UNIX para las cuales está disponible MySQL, no siendo afectados los sistemas de Microsoft Windows NT 4.0 y 2000 Server.

Solución
Por ahora no existe un parche para las versiones instaladas de MySQL. La solución consiste en descargar la última versión de MySQL de la página oficial e instalarla en nuestro sistema. Las versiones 3.23.31 y superiores no son vulnerables a este ataque.
La URL de descarga es www.mysql.com/downloads/index.html

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información