Seguridad

Vulnerabilidad en PhpMyAdmin 4.8.x permite ejecución remota de código

La vulnerabilidad, la cual requiere encontrarse autenticado, es posible debido a un fallo de «Inclusión de fichero Local» (Local File Inclusion, LFI)  



El equipo de seguridad ChaMD5 ha encontrado una vulnerabilidad del tipo «Inclusión de Fichero Local» (Local File Inclusion, LFI) que permitiría la ejecución de código remoto (Remote Code Execution, RCE) en la versión 4.8.1 de PhpMyAdmin, una conocida aplicación web que permite trabajar con bases de datos MySQL del servidor. 

La vulnerabilidad se encuentra en la función ‘checkPageValidity’, del fichero ‘/libraries/classes/Core.php’ de PhpMyAdmin, la cual se encarga de comprobar que el fichero a cargar usando el parámetro ‘target’ de ‘index.php’ es válido. Mediante una doble codificación, es posible saltar la restricción para cargar un archivo local arbitrario. Un ejemplo sería: ‘/index.php?target=db_sql.php%253f/etc/passwd’.

Además, para conseguir la ejecución remota de código, puede aprovecharse que PhpMyAdmin almacena en ficheros de sesión las sentencias SQL introducidas en su interfaz. Así pues, introduciendo una sentencia como «select ‘‘», y obteniendo el id de sesión gracias a la cookie ‘phpMyAdmin’, puede ejecutarse código PHP arbitrario, el cual podría llamar a comandos del sistema. Un ejemplo completo sería el siguiente:

index.php?target=db_sql.php%253f/../../../../../../../../var/lib/php/sessions/sess_d41d8cd98f00b204e9800998ecf8427e’


A día de hoy no se encuentra disponible una versión de PhpMyAdmin que solucione el fallo. Aunque se requiera estar autenticado para la explotación de esta vulnerabilidad, el uso de credenciales por defecto, fuerza bruta u otra vulnerabilidad que permita acceder sin credenciales, podrían permitir el control de la máquina debido a este fallo.

Para evitar la explotación de vulnerabilidades como esta, es importante restringir el acceso a herramientas de administración. Una posible solución es limitar la conexión a IPs autorizadas, o el uso de autenticación Basic Auth con una conexión HTTPS.

Juan José Oyague
joyague@hispasec.com


Más información:




Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.