Digest de Seguridad de Bases de Datos – Agosto 2016
Agosto fue bastante movido para los expertos en ciberseguridad. Dos grandes conferencias, Black Hat y DefCon, tuvieron lugar en Las Vegas, revelando al mundo las últimas amenazas en seguridad y vulnerabilidades de día cero. Hackers y expertos en seguridad discutieron amenazas próximas, prestando especial atención a las amenazas de aplicaciones móviles, seguridad de protocolo de Internet, formas de hackeo para productos del Internet de las Cosas, programas de recompensas por errores con premios bastante sustanciosos, hackeo en redes sociales e incluso drones de hackeo de laptops voladoras que permiten a los hackers realizar ataques de manera remota sin necesidad de estar cerca del objetivo. Descripciones detalladas de las presentaciones de los participantes pueden encontrarse en los sitios web oficiales de Black Hat y DefCon.
Seria Amenaza para MySQL
Recientemente se ha publicado información sobre múltiples y severas vulnerabilidades de MySQL que ha levantado polvo. La más crítica de ellas (CVE-2016-6662) permite a los hackers atacar el servidor de MySQL local o remotamente y obtener privilegios de root. Explotar esta vulnerabilidad requiere de varias condiciones: el atacante debe tener acceso autenticado o realizar otro ataque en aplicaciones web para inyectar un código SQL. Esta vulnerabilidad aparece en MySQL y en sus productos derivados, incluyendo Percona Server y MariaDB, representando una seria amenaza de seguridad; por eso, los proveedores recomiendan insistentemente actualizar el DBMS a la última versión. El problema está resuelto en MySQL 5.7.15, 5.6.33 y 5.5.52, MariaDB 10.0.27, 10.1.17 y Percona Server 5.7.14-7.
Aparte de eliminar la vulnerabilidad crítica, MySQL 5.7.15 corrige algunos errores conocidos y añade varias funciones nuevas. Se incluye la opción de configuración dinámica, que puede usarse para desactivar la detección de interbloqueos. Otra nueva opción ayuda a controlar la selección de la biblioteca LZ4. El script de soporte del sistema para el archivo de unidad (mysqld_pre_systemd) ha sido cambiado y ahora asiste en la creación del archivo de registro de errores solo si su ubicación coincide con el patrón /var/log/mysql*.log. El script actualizado evita la creación de archivos temporales inseguros. Además, con respecto a la seguridad, el nuevo MySQL tiene el plugin validate_password que soporta la capacidad de rechazar contraseñas que coinciden con el nombre de usuario de la sesión actual. El plugin expone la variable de sistema validate_password_check_user_name para habilitar el control sobre esta capacidad.
Oracle
Como la próxima Actualización Crítica de Parches de Oracle será liberada solo en octubre, la mayoría de las vulnerabilidades de seguridad actuales que se van a eliminar permanecen ocultas. Aquí está una detectada y publicada el mes pasado.
CVE-2016-6298La clase _Rsa15 en la implementación del algoritmo RSA 1.5 en jwa.py en jwcrypto antes de 0.3.2 carece del mecanismo de protección de Relleno Aleatorio, lo que facilita que los atacantes remotos obtengan datos en texto claro a través de un Ataque de Millones de Mensajes (MMA).
En cuanto a otros sistemas de gestión de bases de datos, se lanzaron varias actualizaciones el mes pasado, incluyendo MariaDB 10.1.17, PostgreSQL 9.4, Greenplum Database 4.3.9.0.
Lanzamiento de Actualización de Seguridad para PostgreSQL
El lanzamiento cierra dos agujeros de seguridad y corrige varios errores reportados en los últimos meses. Las vulnerabilidades se describen a continuación:
CVE-2016-5423Posible mala evaluación de expresiones CASE-WHEN anidadas. Una expresión CASE que aparece dentro de la subexpresión de valor de prueba de otro CASE podría confundirse sobre si su propio valor de prueba era nulo o no. Además, la inserción en línea de una función SQL que implementa el operador de igualdad usado por una expresión CASE podría resultar en el paso del valor de prueba incorrecto a las funciones llamadas dentro de una expresión CASE en el cuerpo de la función SQL. Si los valores de prueba eran de diferentes tipos de datos, podría producirse un fallo; tales situaciones podrían ser aprovechadas para divulgar una porción de la memoria del servidor.
CVE-2016-5424Los nombres de bases de datos y roles con caracteres especiales incrustados pueden permitir la inyección de código durante operaciones administrativas como pg_dumpall. Numerosas direcciones en vacuumdb y otros programas cliente podrían confundirse con nombres de bases de datos y roles que contienen comillas dobles o barras inversas. Las reglas de cita se han reforzado para hacerlas seguras. El método de manejo de comillas dobles emparejadas en los comandos \connect y \password de psql se ha corregido para coincidir con la documentación. Se ha introducido una nueva opción -reuse-previous en el comando \connect de psql para permitir el control explícito de si reutilizar o no los parámetros de conexión de una conexión anterior. Sin esto, la elección se basa en si el nombre de la base de datos parece una cadena conninfo, como antes. Esto permite un manejo seguro de nombres de bases de datos que contienen caracteres especiales en scripts pg_dumpall.
Estos son considerados arreglos de seguridad porque nombres de objetos elaborados conteniendo caracteres especiales podrían haber sido utilizados para ejecutar comandos con privilegios de superusuario justo después de que un superusuario ejecutara pg_dumpall u otras operaciones rutinarias de mantenimiento.
MariaDB 10.1.17
Es una versión Estable (GA), como se mencionó anteriormente, corrige la vulnerabilidad CVE-2016-6662. Otros cambios afectaron al clúster Galera, incluyendo la actualización de la biblioteca, el aumento en el valor por defecto de wseo_max_ws_size de 1GB a 2GB, soporte de la variable de sistema wsrep_max_ws_rows. Se han corregido varios errores; el motor CONNECT ahora soporta el tipo de Tabla JBDC; XtraDB, TokuDB, InnoDB y Performance Schema están actualizados.
Greenplum Database 4.3.9.0
El lanzamiento de mantenimiento incluye algunos cambios y mejoras. Ha sido causado principalmente por los siguientes errores que se han resuelto en la nueva versión: Bug 1238749 – Backport de cambios rhashtable desde upstream Bug 1316093 – Falta de logs de puppet en /var/log/remote (Backport de da314c9923fe y 1f770c0a09 en RHEL-7)
Los problemas resueltos están relacionados con la optimización de consultas, lenguajes de despacho: R y PL/R, scripts de Backup y Restore, gestión de recursos, ejecución de consultas, despacho y tabla externa S3.