La Base de datos nacional de vulnerabilidades (NVD) del gobierno de EE. UU. publicó un aviso de una vulnerabilidad crítica que afecta al complemento Forminator WordPress Contact Form hasta la versión 1.24.6 incluida.
Los atacantes no autenticados pueden cargar archivos maliciosos en sitios web que, según la advertencia, “pueden hacer posible la ejecución remota de código”.
La puntuación de vulnerabilidad es 9,8, en una escala del uno al diez, siendo diez el nivel de vulnerabilidad más grave.
Captura de pantalla del aviso de Wordfence
Vulnerabilidad a atacantes no autenticados
Muchas vulnerabilidades tienden a requerir que un atacante alcance primero un nivel de usuario de WordPress antes de poder lanzar un ataque.
Por ejemplo, algunas vulnerabilidades están disponibles para aquellos con un nivel de usuario suscriptor, otras requieren un nivel de colaborador o administrador para poder realizar un ataque.
Lo que hace que esta vulnerabilidad sea particularmente preocupante es que permite a atacantes no autenticados, aquellos sin ningún nivel de usuario, piratear el sitio con éxito.
Una segunda razón por la que esta vulnerabilidad tiene una calificación de 9,8 en una escala del 1 al 10 (crítica) es que el atacante puede cargar un archivo arbitrario, es decir, cualquier tipo de archivo, como un script malicioso.
La Base de datos nacional de vulnerabilidad (NVD) describe la vulnerabilidad:
“El complemento Forminator para WordPress es vulnerable a cargas de archivos arbitrarias debido a la validación del tipo de archivo que ocurre después de que un archivo se ha cargado al servidor en la función upload_post_image() en versiones hasta la 1.24.6 inclusive.
Esto hace posible que atacantes no autenticados carguen archivos arbitrarios en el servidor del sitio afectado, lo que puede hacer posible la ejecución remota de código”.
Ejecución remota de código
Una vulnerabilidad de ejecución remota de código (RCE) es un tipo de exploit en el que el atacante puede ejecutar código malicioso en el sitio web atacado de forma remota desde otra máquina.
El daño de este tipo de exploit puede ser tan grave como la apropiación total del sitio.
Los formularios de contacto deben estar bloqueados
Los complementos de WordPress que permiten a usuarios registrados o no autenticados cargar cualquier cosa, incluso texto o imágenes, deben tener una forma de limitar lo que se puede cargar.
Los formularios de contacto deben estar especialmente bloqueados porque aceptan aportaciones del público.
RCE no es específico de WordPress
Este tipo de vulnerabilidades no son exclusivas de WordPress, pueden ocurrirle a cualquier sistema de gestión de contenido.
WordPress publica estándares de codificación para que los editores sepan cómo prevenir este tipo de cosas.
La página para desarrolladores de WordPress para seguridad de complementos (Sanitizing Data) explica cómo manejar adecuadamente las cargas de fuentes no confiables.
La página del desarrollador aconseja:
“Los datos no confiables provienen de muchas fuentes (usuarios, sitios de terceros, ¡incluso su propia base de datos!) y es necesario verificarlos todos antes de usarlos.
Desinfectar los datos de entrada es el proceso de asegurar/limpiar/filtrar los datos de entrada.
Se prefiere la validación a la desinfección porque la validación es más específica.
Pero cuando no es posible “más específico”, la desinfección es la mejor opción”.
¿El complemento del formulario de contacto de Forminator ha solucionado la vulnerabilidad?
Según National Vulnerability Database y la empresa de seguridad Wordfence WordPress, el problema se solucionó en la versión 1.25.0.
Wordfence recomienda actualizar a la última versión:
“Actualice a la versión 1.25.0 o una versión parcheada más reciente…”
Registro de cambios del complemento Forminator
Un registro de cambios es un registro de todos los cambios realizados en un software. Permite a los usuarios leerlo y determinar si desean o no actualizar su software.
Es una buena práctica informar a los usuarios que una actualización de software contiene una solución (llamada parche) para una vulnerabilidad.
Esto permite a los usuarios saber que una actualización particular es urgente para que puedan tomar una decisión informada sobre la actualización de su software.
De lo contrario, ¿cómo sabría un usuario de software que una actualización es urgente sin que el registro de cambios le informe, verdad?
Juzgue usted mismo si el registro de cambios de Forminator ofrece suficiente notificación a sus usuarios sobre un parche de vulnerabilidad:
Captura de pantalla del registro de cambios de Forminator
Fuentes:
Lea el aviso oficial de la Base de Datos Nacional de Vulnerabilidad:
CVE-2023-4596 Detalle
Lea el aviso de Wordfence sobre la vulnerabilidad del complemento de formulario de contacto de WordPress Forminator
Forminator <= 1.24.6 – Carga de archivos arbitrarios no autenticados
Lea el informe Exploit Database sobre la vulnerabilidad del formulario de contacto de Forminator
Complemento de WordPress Forminator 1.24.6: ejecución remota de comandos no autenticados
Imagen destacada de Shutterstock/ViDI Studio