Clicky

Nuevos MySQL Zero Days

MySQL día cero

Cómo reparar el bug en un servidor con MariaDB

Se han descubierto dos vulnerabilidades críticas de Zero Days (Días Cero) en el 2º software más popular del mundo de gestión de base de datos MySQL, lo que podría permitir a un atacante tomar el control total sobre la base de datos.

El investigador de seguridad polaco Dawid Golunski ha descubierto dos Días Cero, CVE-2.016-6.662 y CVE-2016-6663, que afectan a todas las versiones de MySQL soportadas actualmente, así como a sus derivadas, tales como MariaDB y PerconaDB.

Golunski fue más allá de la publicación de detalles he hizo una prueba de concepto explotando código para CVE-2016-6662 después de haber informado a Oracle de ambas cuestiones, junto a los proveedores de MariaDB y PerconaDB.

Tanto MariaDB y PerconaDB habían fijado las vulnerabilidades, pero Oracle no. La vulnerabilidad (CVE-2016-6662) puede ser explotada por los hackers para inyectar una configuración maliciosa en archivos de configuración de MySQL o crear sus propios 'malos'.

Vector de la explotación

La falla podría ser explotada vía un inyección de SQL o por los piratas informáticos con acceso autenticado a la base de datos MySQL (a través de una conexión de red o interfaces de red como PhpMyAdmin).

"Una explotación exitosa [de CVE-2016-6662] podría permitir a atacantes ejecutar código arbitrario con privilegios de root que luego les permitan comprometer totalmente el servidor en el que se está ejecutando una versión afectada de MySQL", explicó Golunski en un aviso publicado esta semana.

Esto podría resultar en el compromiso completo del servidor que ejecuta la versión de MySQL afectada. El investigador también advirtió que la vulnerabilidad se puede aprovechar incluso si está habilitado el módulo de seguridad del kernel SELinux o Linux AppArmor con las políticas activas por defecto para el servicio MySQL en las principales distribuciones de Linux.

La falla reside realmente en el script mysqld_safe que se utiliza como un contenedor por muchos paquetes o instalaciones por defecto de MySQL para iniciar el proceso de servicio MySQL.

El script mysqld_safe se ejecuta como root, y el proceso mysqld principal cae por su nivel de privilegios de usuario de MySQL, examinó Golunski.

"Si un atacante logró inyectar una ruta de acceso a una librería maliciosa dentro de la configuración, sería capaz de cargar previamente una biblioteca arbitraria y ejecutar código arbitrario con privilegios de root cuando se reinicia el servicio MySQL (de forma manual, a través de una actualización del sistema, actualización del paquete, reinicio del sistema, etc.).

El investigador dará a conocer pronto detalles del código de explotación CVE-2016-6663, el defecto que permite a los atacantes con pocos privilegios hacer la explotación trivial.

MariaDB Zero Days

Sin embargo no hay parche MySQL disponible

Golunski informó a Oracle y a los otros proveedores afectados de los defectos de Zero Days el 29 de julio.

Mientras que Oracle reconoció el informe, la programación de la próxima CPU de Oracle es para el 18 de octubre de 2016. MariaDB y PerconaDB han parchearon sus versiones del software de base de datos antes a finales de agosto.

Dado que han pasado más de 40 días y los dos vendedores han publicado los parches para solucionar los problemas, Golunski dijo que decidió hacer públicos los detalles de los Zero Days.

Mitigación Temporal

Hasta que Oracle soluciona el problema en su próxima CPU, se puede poner en práctica algunas mitigaciones temporales, propuestas por el investigador, para la protección de nuestros servidores.

"Con las mitigaciones temporales los usuarios deben asegurarse de que no hay archivos de configuración de MySQL propiedad del usuario mysql, y crear archivos my.cnf ficticios de propiedad root que no estén en uso", escribió Golunski.

Pero recuerda, las mitigaciones anteriores son sólo soluciones temporales, por lo que se recomienda aplicar los parches del fabricante tan pronto como estén disponibles.

Cómo reparar el bug "Código de escalada de privilegios de ejecución remota" en MySQL como root en un servidor con MariaDB

El equipo de MariaDB ha puesto en marcha los parches de vulnerabilidad en sus versiones siguientes:

MariaDB 10.1.17
MariaDB 10.0.27
MariaDB 5.5.51

Para actualizar el servidor MariaDB a estas últimas versiones, sigue estos pasos:

1. Descargar la versión deseada de MariaDB de su página web.

2. Para la versión antigua de MariaDB que se ejecuta en el servidor.

3. Instala la nueva versión que se ha descargado.

4. Ejecutar los comandos mysql_upgrade y mysql_fix_privilege_tables para actualizar los permisos y la compatibilidad de las tablas.

5. Reinicia el servidor MariaDB después de actualizar los parámetros de configuración necesarios.

También puedes hacer un upgrade descargando el repositorio de MariaDB. Yo he aprovechado y he actualizado a la última versión de MariaDB, la 10.1.17.

Jesus_Caceres