Wordfence bloquea 62.969 intentos contra un fallo de WordPress

Wordfence bloquea 62.969 intentos contra un fallo de WordPress

Wordfence bloqueó 62.969 intentos en 24 horas contra una vulnerabilidad de ejecución remota de código en WordPress Core, después de que se publicara el parche el 28 de octubre. El fallo afecta a las versiones 4.7 a 7.1.3 y permite a un atacante sin autenticación ejecutar código en el servidor si consigue actuar durante una breve ventana del proceso de actualización.

La vulnerabilidad tiene una puntuación CVSS de 8,1 y todavía no cuenta con identificador CVE. WordPress corrigió el problema con la versión 7.1.4. Wordfence informó de que los intentos de explotación comenzaron poco después de desplegarse una regla de firewall; Techaeris sitúa el primer intento detectado nueve minutos después de ese despliegue.

El ataque depende de acertar el momento

El problema está en la actualización completa del núcleo de WordPress. Durante ese proceso, los archivos nuevos se descomprimen en un directorio temporal bajo wp-content/upgrade. Según Wordfence, la ruta de preparación puede ser predecible y accesible desde la web en muchos servidores, y el contenido incluye el instalador de WordPress.

Si un atacante solicita ese instalador justo mientras el directorio está disponible, puede interactuar con la copia provisional y llegar a ejecutar código PHP. No basta con que el sitio use una versión vulnerable: la explotación requiere que se esté instalando un paquete completo, que el árbol temporal sea accesible por web y PHP, que la ruta sea predecible o pueda descubrirse y que el ataque termine antes de que WordPress elimine los archivos temporales.

En pruebas de laboratorio, la ventana duró apenas unos segundos. Por eso, los atacantes no se limitaron a una solicitud: sondearon repetidamente rutas vulnerables, entre ellas setup-config.php, para aumentar la posibilidad de coincidir con una actualización en curso.

“Dos de las mayores fuentes sondearon repetidamente grupos pequeños de sitios durante unas 14,5 horas, un comportamiento compatible con intentar acertar la breve ventana de actualización”.

— Alex Thomas, responsable del equipo de respuesta a amenazas de Wordfence

Wordfence también observó que otras fuentes probaron variaciones de directorios temporales y nombres de versiones. No todas las solicitudes usaban la ruta vulnerable exacta, pero la repetición de sondeos y las pruebas de estructuras concretas apuntaban a que los atacantes habían identificado la condición de carrera.

La versión 7.1.4 corrige el fallo

WordPress recomienda instalar la actualización de seguridad de inmediato. La versión 7.1.4 se puede obtener desde WordPress.org o desde el panel de administración, en la sección de actualizaciones; los sitios que admiten actualizaciones automáticas pueden recibirla en segundo plano. El equipo de WordPress indicó que los parches se están preparando también para las ramas que aún reciben correcciones de seguridad, hasta la 4.7.

Según Techaeris, el arreglo de 7.1.4 hace aleatorio el directorio temporal, añade una protección de índice y bloquea una promoción insegura de datos de configuración preparados. La actualización también incluye correcciones para otros problemas de seguridad. WordPress enumera, entre ellos, vulnerabilidades de cross-site scripting almacenado, una exposición de cambios no publicados del Personalizador y un problema de permisos en Notes.

La regla de firewall de Wordfence se distribuyó unas tres horas después de la publicación de la actualización, según Techaeris. Los clientes de sus planes Premium, Care y Response la recibieron entonces; los usuarios gratuitos tenían prevista su recepción para el 27 de noviembre, conforme al retraso estándar de 30 días que aplica la compañía a esas reglas.

Wordfence no había informado de compromisos confirmados en el momento de la publicación de Techaeris. Los propietarios de sitios deben actualizar a 7.1.4 —o a la versión corregida correspondiente a la rama instalada— y revisar si hay solicitudes sospechosas a archivos PHP dentro de wp-content/upgrade, además de cuentas de administrador, plugins o archivos PHP desconocidos.

Fuentes: The Hacker News, Techaeris, WordPress News