Los blogs de WordPress se encuentran con frecuencia expuestos a problemas de seguridad. Sin embargo, esta frecuencia se ve aumentada por la presencia de complementos externos que pueden ser utilizados para ampliar la funcionalidad de la página. En este caso, el complemento Disqus posee un fallo de seguridad que permite la ejecución de código en el servidor de forma remota.
La vulnerabilidad (que ha sido considerada crítica) permite a una tercera persona realizar la ejecución de código en el servidor gracias a la utilización de la función de PHP eval(). Sin embargo, se ha comprobado que la vulnerabilidad puede ser utilizada para obtener información del servidor bajo unas condiciones concretas. Para poder explotar la vulnerabilidad tendrían que coincidir los siguientes aspectos:
- PHP version 5.1.6 o anterior.
- WordPress 3.1.4 o anterior.
- Disqus 2.75 o anterior.
Aunque parezca complicado, existen muchos sitios web que no reciben actualizaciones por parte de su administrador y que por lo tanto no poseen la última versión o la que poseen está afectada por problemas de seguridad, dejando el sitio web expuesto a los hackers. En lo referido a cifras, un total de 1,5 millones de blogs de WordPress estarían afectados por esta vulnerabilidad.
Cómo puede un hacker hacer uso de la vulnerabilidad
Tal y como hemos comentado con anterioridad, el atacante puede hacer uso de la función eval() de PHP para poder obtener información del servidor. El mecanismo a seguir sería como si se escribiese un comentario en una entrada con la única diferencia de en vez de escribir el comentario se escribe la consulta PHP. Solo falta modificar la URL original por http://somesite.com/?cf_action=sync_comments&post_id=TARGET_POST_ID permitiendo que al enviar el comentario se realice la consulta y se obtengan los datos solicitados.
¿Cuál es la solución?
Para aprovechar la vulnerabilidad que anteriormente hemos citado existen tres elementos que son clave. En el caso de que un sitio web utilice versiones de PHP y WordPress desactualizadas será suficiente con actualizar la versión de Disqus a la versión 2.76 para conseguir resolver el problema. Este complemento se puede actualizar desde el panel de administrador que posee el sitio web.
Fuente | The Hackers News