Una vulnerabilidad crítica en glibc, una biblioteca central de Linux, puede ser explotada remotamente a través de WordPress y probablemente otras aplicaciones PHP para comprometer los servidores Web.
La vulnerabilidad de desbordamiento del búfer, llamada Ghost, fue reportada el martes por investigadores del proveedor de seguridad Qualys. Está identificada como CVE-2015-0235 en la base de datos de Vulnerabilidades y Exposiciones Comunes.
El error se encuentra en las funciones gethostbyname*() de la glibc (Biblioteca C de GNU) versión 2.17 y anteriores. Fue corregido en glibc-2.18, publicada en mayo de 2013, pero no fue marcada como una vulnerabilidad de seguridad en ese momento.
Como resultado, algunas distribuciones de Linux, especialmente las desarrolladas para soporte a largo plazo, no hicieron un backport del parche y seguían usando versiones vulnerables de glibc cuando los investigadores del Qualys identificaron las implicaciones de seguridad del fallo durante una auditoría de código.
La explotación de la vulnerabilidad para la ejecución remota de código también depende de otros factores, como si la aplicación objetivo utiliza las funciones de glibc gethostbyname*() y en qué contexto. Los investigadores identificaron que clockdiff, procmail, pppd y el software del servidor de correo Exim podrían utilizarse como vectores de ataque en cierta medida.
Sin embargo, los investigadores de la firma de investigación de seguridad de sitios web Sucuri dijeron el miércoles que tienen buenas razones para creer que la falla también puede ser explotada a través de aplicaciones web escritas en PHP que utilizan envolturas de funciones gethostbyname(). Esto tiene el potencial de expandir significativamente los vectores de ataque.
Un claro ejemplo de tal aplicación PHP es WordPress, que usa una función llamada wp_http_validate_url() para validar las URLs de los mensajes de pingback.
«Lo hace mediante el uso de gethostbyname(), por lo que un atacante podría aprovechar este vector para insertar una URL maliciosa que desencadenaría un error de desbordamiento del búfer, del lado del servidor, lo que potencialmente le permitiría obtener privilegios en el servidor,»
En un comentario a la entrada del blog de Montpas, HD Moore, jefe de investigación de Rapid7 y principal desarrollador de la herramienta de pruebas de penetración Metasploit, publicó un comando PHP que puede ser utilizado para comprobar si un servidor Web es vulnerable.
Luego el jueves, los investigadores de seguridad de Trustwave SpiderLabs crearon un script de prueba de concepto para activar el desbordamiento del buffer glibc a través de la función pingback de WordPress.
No obstante, se aconseja a los usuarios de WordPress que desactiven completamente el proceso XML-RPC o que bloqueen las solicitudes de pingback. Se aconseja a los administradores de los servidores que actualicen sus versiones de glibc lo antes posible.
Debian 7 (wheezy), Red Hat Enterprise Linux 6 y 7, CentOS 6 y 7 y Ubuntu 12.04 fueron algunas de las distribuciones de Linux identificadas como vulnerables y que desde entonces han publicado parches.
«Cuando los atacantes intentan explotar esta vulnerabilidad contra sus servidores web, lo más probable es que haya mensajes de error (fallos de segmentación, etc…) que indiquen un problema», dijeron los investigadores de Trustwave. «Las organizaciones deben estar atentas a la supervisión de sus registros y al seguimiento de los errores anómalos».