WordPress: de nuevo un servidor de descarga oficial comprometido
Los servidores oficiales desde donde se descarga el popular WordPress fueron comprometidos en algún momento y el código fuente del programa modificado para troyanizarlo. No es la primera vez que se troyaniza un programa muy popular desde la raíz de su distribución.
Toda descarga producida desde el servidor oficial de WordPress desde el día 25 de febrero hasta el 2 de marzo de 2007 es susceptible de contener el código que permite acceso al servidor donde esté instalado. Este problema, debido a la popularidad del software afectado, ha podido dejar descubierto a una gran cantidad de servidores que lo mantienen instalado.
Ivan Fratric estaba estudiando la seguridad de WordPress cuando descubrió que los parámetros “ix” en wp-includes/feed.php e “iz” en wp-includes/theme.php permitían la ejecución de comandos shell arbitrarios. Fratric descubrió que se habían creado funciones específicas para que esos parámetros no fueran comprobados. Se puso en contacto con WordPress y rápidamente desactivaron las descargas. Uno de los dos servidores de descarga había sido comprometido y el atacante había modificado el código (sólo esos dos ficheros) para tener acceso al sistema donde se instalase ese programa desde entonces.
Si bien no habría evitado este incidente desde su raíz, algunas simples medidas sí que podrían haber ayudado a una temprana detección. Por ejemplo, si el código fuente original estuviese firmado con criptografía asimétrica, o comprobar la integridad a través de cualquier función hash. Estas medidas no son perfectas, un atacante podría haber modificado además en el servidor el código hash para que casara con la copia troyanizada, es cierto, pero suponen una capa más de seguridad y añadirían confianza al proceso de descarga. Cualquiera de los (desgraciadamente pocos) usuarios acostumbrados a comprobar la firma digital y la integridad de las descargas, hubiesen detectado el problema casi inmediatamente. Hoy por hoy WordPress proporciona un código hash MD5 oficial de la distribución (incomprensiblemente sólo de la versión comprimida con tar.gz, no ofrece el MD5 del formato ZIP) pero no las firma digitalmente.
Esto ya ha ocurrido en muchas ocasiones anteriores. Programas muy populares y utilizados han sido troyanizados desde su raíz, desde los repositorios oficiales, propagando una copia vulnerable en toda descarga. Por ejemplo, ya en 1994 ocurrió en dos ocasiones, en abril y octubre, con wuarchive ftpd e ircII respectivamente.
OpenSSH, baluarte de las conexiones seguras, sufrió hace años un incidente parecido. Las versiones 3.4 y 3.2 fueron troyanizadas desde ftp.openssh.com y ftp.openbsd.org y estuvieron disponibles para su descarga del 30 al 31 de julio de 2002.
Poco después, el servidor HTTP de Tcpdump, popular analizador de red, fue comprometido el 11 de noviembre de 2002, y su descarga no fue deshabilitada hasta el día 13. El código troyanizado ignoraba el tráfico del puerto 1963, desde donde un atacante podría controlar la máquina en la que se ejecutase.
Sendmail protagonizó un escándalo mayor cuando comprometieron ftp.sendmail.org aproximadamente el 28 de septiembre de 2002. No fue hasta el 6 de octubre de ese año que se deshabilitó la descarga del programa envenenado, nada más y nada menos que el servidor de correo más usado en el mundo. El atacante añadió una shell accesible desde el puerto 6667.
Los usuarios de WordPress deben descargar la nueva versión de WordPress disponible si creen poder haber sido afectados por este incidente.