El equipo detrás de un popular complemento de WordPress ha revelado una vulnerabilidad crítica de carga de archivos y emitió un parche.

El complemento vulnerable, Contact Form 7, tiene más de 5 millones de instalaciones activas, lo que hace que esta actualización urgente sea una necesidad para los propietarios de sitios de WordPress.

Carga de archivos sin restricciones

Esta semana, el proyecto Contact Form 7 ha revelado una vulnerabilidad de carga de archivos sin restricciones (pendiente de CVE) en el complemento de WordPress que puede permitir a un atacante eludir las protecciones de desinfección de nombres de archivo de Contact Form 7 al cargar archivos.

Un atacante puede cargar un archivo elaborado con código arbitrario en el servidor vulnerable utilizando el complemento.

Luego, aprovechando esta grave vulnerabilidad, el atacante puede ejecutar el archivo como un script para ejecutar el código que contiene.

“Se ha publicado el formulario de contacto 7 5.3.2. Esta es una versión de seguridad y mantenimiento urgente. Le recomendamos encarecidamente que la actualice de inmediato”, se lee en el aviso de seguridad del proyecto.

La vulnerabilidad ha sido descubierta y reportada por Jinson Varghese Behanan, un analista de seguridad de la información de Astra Security.

Como lo observó BleepingComputer, el problema ocurre en el archivo includes / formatting.php que es parte del código del complemento Contact Form 7.

En las versiones vulnerables, el complemento no elimina los caracteres especiales del nombre del archivo cargado, incluidos el carácter de control y los separadores.

Esto podría permitir que un atacante cargue un nombre de archivo que contenga extensiones dobles, separadas por un carácter especial o no imprimible, como un archivo llamado “abc.php .jpg”.

El separador entre las dos extensiones es un carácter de tabulación ( t). En el lado del cliente del Formulario de contacto 7, puede parecer un archivo de imagen (* .jpg).

Sin embargo, cuando se carga en el servidor, el Formulario de contacto 7 probablemente analizará el nombre del archivo hasta la primera extensión y descartará la segunda debido a un separador.

Por lo tanto, el nuevo nombre de archivo se convertiría en “abc.php”, un script PHP, mientras que el atacante ahora puede acceder para ejecutar código arbitrario en el servidor.

La corrección realizada por el proyecto, que se muestra a continuación, contiene una validación basada en expresiones regulares para detectar casos como este:

Corrección de la vulnerabilidad de carga de archivos del Formulario de contacto 7
Corrección realizada para la vulnerabilidad de carga de archivos sin restricciones del Formulario de contacto 7
Fuente: GitHub

Esta no es la primera instancia de una vulnerabilidad grave de doble extensión que acecha en las plataformas de blogs y CMS.

El mes pasado, se descubrió que los sitios de Drupal tenían una vulnerabilidad de carga de archivos de doble extensión.

En abril de este año, un módulo NodeJS podría explotarse para lograr la ejecución remota de código mediante la carga de archivos.

La versión parcheada 5.3.2 del complemento se puede descargar desde WordPress. Se recomienda a los usuarios del Formulario de contacto 7 que apliquen esta actualización urgente de inmediato.

Artículos relacionados:

SaltStack revela nuevas vulnerabilidades críticas, parche ahora

Los errores del complemento de WordPress pueden permitir a los atacantes secuestrar hasta 100K sitios

HPE revela un software crítico de gestión de servidores de día cero

Los errores críticos del analizador XML de Golang pueden provocar el desvío de la autenticación SAML

Sophos corrige la vulnerabilidad de inyección de SQL en su sistema operativo Cyberoam