Se ha revelado una vulnerabilidad crítica en vBulletin que permite la ejecución remota de código sin necesidad de autenticarse.
El pasado 23 de septiembre un usuario anónimo reportó en las listas de Full Disclosure una vulnerabilidad que afecta a todas las versiones de vBulletin desde la versión 5, lanzada en 2012. Debido a que no se siguió el procedimiento habitual, el fallo no cuenta con un CVE y se publicó sin un parche disponible al anunciarse.
vBulletin, el software afectado, es uno de los sistemas de foros en PHP más populares de Internet, utilizado por algunas de las mayores comunidades como por ejemplo xda-developers o Forocoches en España. Podría haber más de 100,000 sitios vulnerables.
La vulnerabilidad publicada permite la ejecución remota de código (abreviado como «RCE«) en la máquina que aloja el sistema de foros, la cual podría usarse para realizar un volcado de la base de datos o elevar privilegios aprovechando otra vulnerabilidad.
Código fuente del exploit: Fuente: Frint0/mass-pwn-vbulletin.
Para la explotación sólo se requiere una petición POST a la raíz del sitio web con dos parámetros: 'routestring=ajax/render/widget_php
‘ y 'widgetConfig[code]="<código PHP>"'
, donde «código PHP» puede ser la función ‘shell_exec’. No es necesario estar autenticado. Además del exploit original puede encontrarse este otro para Python 2 junto con herramientas para probar el fallo en un listado de sitios.
Finalmente, el día miércoles 25 de septiembre se publicó un parche oficial en los foros de vBulletin que soluciona este fallo. Los usuarios afectados no sólo deben aplicar el parche: también deben revisar la máquina debido al riesgo de una intrusión. El usuario James Bercegay en Github ha compartido un borrador donde indica las partes de código afectadas.
Telconet, con el fin de precautelar la disponibilidad e integridad de su servicio, y el de nuestros clientes, recomienda lo siguiente:
- Se urge a todos los usuarios con la versión 5 de vBulletin a aplicar el parche lo antes posible, o deshabilitar los foros hasta haberlo aplicado.
- Para minimizar los riesgos en aplicaciones web públicas en Internet se recomienda aislar cada aplicación para evitar que un potencial atacante logre acceso a la máquina host.
Para mayor información sobre la vulnerabilidad descrita consultar los siguientes enlaces: