Una vulnerabilidad en WordPress abre la puerta a ataques DDoS

El investigador en seguridad israelí Barak Tawily ha descubierto una vulnerabilidad (CVE-2018-6389) en WordPress, concretamente en el fichero load-scripts.php, que abre la puerta a la ejecución de ataques de tipo DDoS contra las instalaciones del popular CMS.

La vulnerabilidad hallada deja muy expuesto al CMS debido a que el ataque DDoS no requiere de un gran ancho de banda, sino que puede ser llevado a cabo con tan solo enviar peticiones de forma masiva desde un solo ordenador, pudiéndose prescindir de las botnets. Todas las versiones de WordPress conocidas están afectadas, incluso la 4.9.2.

El fichero load-scripts.php ha sido diseñado para ayudar a los administradores de sistemas a mejorar el rendimiento de la carga de página mediante la combinación de múltiples ficheros JavaScript dentro de una misma petición. Sin embargo, para que funcione sobre la página de acceso al back office antes de que un usuario acceda, los desarrolladores de WordPress hicieron que no estuviera detrás de ninguna autenticación, por lo que está accesible para cualquiera.

Dependiendo de los plugins que se tengan instalados en el CMS, load-scripts.php realiza llamadas selectivas para requerir los ficheros JavaScript pasando sus nombres separados por comas y por el parámetro load:

http://tu-sitio-wordpress.com/wp-admin/load-scripts.php?c=1&load=editor,common,user-profile,media-widgets,media-gallery

Mientras se carga el sitio web, load-scripts.php intenta encontrar el nombre de cada fichero JavaScript obtenido desde la URL para anexar su contenido a un solo fichero y luego enviar todo el contenido en una sola página web de cara al usuario que utiliza un navegador web.

Según Barak Tawily, para realizar el ataque DDoS solo es necesario forzar a load-scrpits.php para que llame a todos los ficheros JavaScript posibles a la vez pasando sus nombres como se muestra en la URL del texto preformateado, provocando un aumento en el consumo de CPU y RAM en el servidor. Obviamente, el servidor tiene que andar muy corto para tumbarlo con una sola petición, por lo que el investigador ha desarrollado una prueba de concepto en forma de script de Python que realiza una gran cantidad de peticiones de forma concurrente a la misma URL, haciendo que el consumo de recursos aumente hasta el extremo de provocar la denegación del servicio. A pesar de todo, parece que es difícil llevarlo con éxito total en servidores dedicados con mucha RAM y CPU.

Barak Tawily decidió reportar la vulnerabilidad mediante la plataforma HackerOne, sin embargo, los desarrolladores de WordPress se han negado a reconocer el problema, diciendo que “debería mitigarse realmente al final del servidor o a nivel de red en lugar de la aplicación”, por lo que para ellos esto queda fuera del control del CMS.

Debido a esa situación, el investigador ha decidido crear una bifurcación de WordPress con una mitigación contra la vulnerabilidad que ha descubierto, sin embargo, en estos ámbitos no es recomendable confiar en proyectos mantenidos por pocas personas y sin respaldo oficial, así que como alternativa ha publicado un script en bash que corrige el problema.

La gran popularidad de WordPress y el hecho de que muchas personas no tengan medios para adquirir defensas contra ataques como los de tipo DDoS podrían terminar haciendo que esta vulnerabilidad cause problemas a más de uno.

FuenteThe Hacker News

Share

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.