Universidad Veracruzana

Skip to main content

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

 

24/06/2018

 

Boletín de ciberseguridad

Nivel: Importante

 

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

 

Descripción:

 

El equipo de seguridad ChaMD5 ha encontrado una vulnerabilidad del tipo «Inclusión de Fichero Local» (Local File Inclusión, 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 ‘<?php phpinfo();exit;?>'», 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.

 

 

Solución:

 

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.

 

Fuentes:

 

phpMyAdmin 4.8.x LFI to RCE (Authorization Required):

https://blog.vulnspy.com/2018/06/21/phpMyAdmin-4-8-x-Authorited-CLI-to-RCE/

 

phpmyadmin4.8.1 getshell:

https://mp.weixin.qq.com/s?__biz=MzIzMTc1MjExOQ==&mid=2247485036&idx=1&sn=8e9647906c5d94f72564dec5bc51a2ab&chksm=e89e2eb4dfe9a7a28bff2efebb5b2723782dab660acff074c3f18c9e7dca924abdf3da618fb4&mpshare=1&scene=1&srcid=0621gAv1FMtrgoahD01psMZr&pass_ticket=LqhRfckPxAVG2dF%2FjxV%2F9%2FcEb5pShRgewJe%2FttJn2gIlIyGF%2FbsgGmzcbsV%2BLmMK

Enlaces de pie de página

Ubicación

Gonzalo Aguirre Beltrán, Zona Universitaria, 91090 Xalapa-Enríquez, Ver., México

Redes sociales

Transparencia

Código de ética

Última actualización

Fecha: 11 abril, 2024 Responsable: Coordinación de Gestión de Incidentes de Ciberseguridad Contacto: contactocsirt@uv.mx