Contenidos
La vulnerabilidad del complemento Metform Elementor Contact Form Builder expone hasta 200,000 sitios web de WordPress a la vulnerabilidad XSS
La base de datos nacional de vulnerabilidades de los Estados Unidos publicó un aviso de una vulnerabilidad XSS que afecta al popular Metform Elementor Contact Form Builder, que expone más de 200 000 instalaciones activas a la vulnerabilidad.
Secuencias de comandos entre sitios almacenadas (XSS)
Una vulnerabilidad XSS almacenada es aquella en la que un sitio web no asegura adecuadamente una entrada, como un formulario de envío, lo que permite que un pirata informático cargue un script malicioso en el servidor.
Luego, el script es descargado y ejecutado por un navegador de visitantes del sitio, lo que permite que el pirata informático robe las cookies de los visitantes u obtenga los permisos de su sitio web, lo que luego puede conducir a una toma de control del sitio web.
El Open Worldwide Application Security Project (OWASP) sin fines de lucro describe la vulnerabilidad Cross Site Scripting: describes the Cross Site Scripting vulnerability
“An attacker can use XSS to send a malicious script to an unsuspecting user.
The end user’s browser has no way to know that the script should not be trusted, and will execute the script.
Because it thinks the script came from a trusted source, the malicious script can access any cookies, session tokens, or other sensitive information retained by the browser and used with that site.”
“Un atacante puede usar XSS para enviar un script malicioso a un usuario desprevenido.
El navegador del usuario final no tiene forma de saber que no se debe confiar en el script y lo ejecutará.
Debido a que cree que el script proviene de una fuente confiable, el script malicioso puede acceder a cualquier cookie, token de sesión u otra información confidencial retenida por el navegador y utilizada con ese sitio”.
Hay diferentes tipos de ataques XSS.
La vulnerabilidad que afecta al complemento del formulario de contacto de Elementor se denomina XSS almacenado porque el script malicioso se carga y almacena en los propios servidores del sitio web.
Lo que hace que esta vulnerabilidad sea especialmente preocupante es que se trata de una versión no autenticada, lo que significa que el atacante no necesita ningún tipo de permiso del sitio web para comenzar el ataque.
A esta vulnerabilidad en particular se le asignó una puntuación de amenaza de 7,2 en una escala del 1 al 10, siendo el nivel 10 el nivel más alto.
Qué causó la vulnerabilidad
Lo que causó la vulnerabilidad es un problema de codificación en el complemento que no pudo verificar y bloquear entradas no deseadas a través del formulario de envío de contacto.
Este proceso para comprobar y bloquear las cargas no deseadas se denomina sanitización.
Un segundo problema fue una falla del complemento para asegurar los datos que genera el complemento. Esto se llama salida de escape.
WordPress publica una página para desarrolladores sobre el escape de datos, que explica: developer page about escaping data
“Escaping output is the process of securing output data by stripping out unwanted data, like malformed HTML or script tags. This process helps secure your data prior to rendering it for the end user.”
“Escapar de la salida es el proceso de proteger los datos de salida eliminando los datos no deseados, como HTML mal formado o etiquetas de secuencias de comandos. Este proceso ayuda a proteger sus datos antes de entregarlos al usuario final”.
La falla en desinfectar las entradas para escapar de las salidas son los dos problemas principales que llevaron a la vulnerabilidad.
La advertencia de la base de datos nacional de vulnerabilidades explica: warning explains
“The Metform Elementor Contact Form Builder plugin for WordPress is vulnerable to Stored Cross-Site Scripting via text areas on forms in versions up to, and including, 3.1.2 due to insufficient input sanitization and output escaping.
This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page, which is the submissions page.”
“El complemento Metform Elementor Contact Form Builder para WordPress es vulnerable a las secuencias de comandos almacenadas entre sitios a través de áreas de texto en formularios en versiones hasta 3.1.2 inclusive debido a una desinfección de entrada insuficiente y escape de salida.
Esto hace posible que los atacantes no autenticados inyecten scripts web arbitrarios en páginas que se ejecutarán cada vez que un usuario acceda a una página inyectada, que es la página de envíos”.
El complemento Metform Elementor está parcheado
Los editores de Metform Elementor Contact Form Builder emitieron parches en el transcurso de varias versiones para corregir la vulnerabilidad.
Estas son las versiones actualizadas del complemento y sus correcciones:
- Versión 3.2.0 Mejorada: Seguridad y saneamiento
- Versión 3.2.2 Solucionado: Problema de permiso de seguridad para el punto final de la API REST
- Versión 3.2.3 (parcheada el 06-03-2023) Solucionado: Problema de escape en el campo de firma. Solucionado: Envío de formulario para usuarios que no han iniciado sesión.
Los editores de WordPress que utilizan Metform Elementor Contact Form Builder deberían considerar actualizar su complemento a la versión 3.2.3, la versión que está completamente parcheada.
Lea el aviso en el sitio web de la base de datos nacional de vulnerabilidades:
CVE-2023-0084 Detalle CVE-2023-0084 Detail
Lea el registro de cambios oficial del complemento que documenta los parches:
Registro de cambios del creador de formularios de contacto de Metform Elementor Metform Elementor Contact Form Builder Changelog
Imagen destacada de Shutterstock/Asier Romero
Leer el articulo original en Search Engine Journal.