Se descubrió que el popular complemento Fluent Forms Contact Form Builder para WordPress, con más de 300.000 instalaciones, contenía una vulnerabilidad de inyección SQL que podría permitir el acceso a la base de datos a los piratas informáticos.
Formularios fluidos Creador de formularios de contacto
Fluent Forms Contact Form Builder es uno de los formularios de contacto más populares para WordPress, con más de 300.000 instalaciones.
Su interfaz de arrastrar y soltar facilita la creación de formularios de contacto personalizados para que los usuarios no tengan que aprender a codificar.
La capacidad de utilizar el complemento para crear prácticamente cualquier tipo de formulario de entrada lo convierte en la mejor opción.
Los usuarios pueden aprovechar el complemento para crear formularios de suscripción, formularios de pago y formularios para crear cuestionarios.
Además, se integra con aplicaciones de terceros como MailChimp, Zapier y Slack.
Es importante destacar que también tiene una capacidad de análisis nativa.
Esta increíble flexibilidad convierte a Fluent Forms en la mejor opción porque los usuarios pueden lograr mucho con un solo complemento.
Neutralización de entrada
Cada complemento que permite a los visitantes del sitio ingresar datos directamente en la base de datos, especialmente formularios de contacto, debe procesar esas entradas para que no permitan inadvertidamente a los piratas informáticos ingresar scripts o comandos SQL que permitan a los usuarios malintencionados realizar cambios inesperados.
Esta vulnerabilidad particular hace que el complemento Fluent Forms esté expuesto a una vulnerabilidad de inyección SQL que es particularmente mala si un hacker tiene éxito en sus intentos.
Vulnerabilidad de inyección SQL
SQL, que significa lenguaje de consulta estructurado, es un lenguaje utilizado para interactuar con bases de datos.
Una consulta SQL es un comando para acceder, cambiar u organizar datos almacenados en una base de datos.
Una base de datos es lo que contiene todo lo que se utiliza para crear un sitio web de WordPress, como contraseñas, contenido, temas y complementos.
La base de datos es el corazón y el cerebro de un sitio web de WordPress.
Como consecuencia, la capacidad de “consultar” arbitrariamente una base de datos es un nivel extraordinario de acceso que no debería estar disponible en absoluto para usuarios o software no autorizados fuera del sitio web.
Un ataque de inyección SQL se produce cuando un atacante malintencionado puede utilizar una interfaz de entrada legítima para insertar un comando SQL que puede interactuar con la base de datos.
El Proyecto Abierto Mundial de Seguridad de Aplicaciones (OWASP), una organización sin fines de lucro, describe las devastadoras consecuencias de una vulnerabilidad de inyección SQL:
- “Los ataques de inyección SQL permiten a los atacantes falsificar la identidad, alterar los datos existentes, causar problemas de repudio como anular transacciones o cambiar saldos, permitir la divulgación completa de todos los datos en el sistema, destruir los datos o hacerlos no disponibles de otro modo y convertirse en administradores de el servidor de base de datos.
- La inyección SQL es muy común con aplicaciones PHP y ASP debido a la prevalencia de interfaces funcionales más antiguas. Debido a la naturaleza de las interfaces programáticas disponibles, es menos probable que las aplicaciones J2EE y ASP.NET tengan inyecciones SQL fácilmente explotables.
- La gravedad de los ataques de inyección SQL está limitada por la habilidad y la imaginación del atacante y, en menor medida, por las contramedidas de defensa en profundidad, como conexiones de bajo privilegio al servidor de la base de datos, etc. En general, considere la inyección SQL como una gravedad de alto impacto”.
Neutralización inadecuada
La base de datos de vulnerabilidad de Estados Unidos (NVD) publicó un aviso sobre la vulnerabilidad que describía el motivo de la vulnerabilidad como una “neutralización inadecuada”.
La neutralización es una referencia a un proceso para garantizar que todo lo que se ingrese en una aplicación (como un formulario de contacto) se limite a lo esperado y no permita nada más que lo esperado.
La neutralización adecuada de un formulario de contacto significa que no permitirá un comando SQL.
La base de datos de vulnerabilidades de Estados Unidos describió la vulnerabilidad:
“Neutralización inadecuada de elementos especiales utilizados en una vulnerabilidad de comando SQL (‘inyección SQL’) en formulario de contacto – Complemento de formulario de contacto de WPManageNinja LLC – El complemento de creación de formularios de contacto más rápido para WordPress de Fluent Forms fluentform permite la inyección de SQL.
Este problema afecta al complemento de formulario de contacto: el complemento de creación de formularios de contacto más rápido para WordPress de Fluent Forms: desde n/a hasta 4.3.25.
La empresa de seguridad Patchstack descubrió e informó la vulnerabilidad a los desarrolladores del complemento.
Según Patchstack:
“Esto podría permitir que un actor malintencionado interactúe directamente con su base de datos, incluido, entre otros, el robo de información.
Esta vulnerabilidad se ha solucionado en la versión 5.0.0”.
Aunque el aviso de Patchstack indica que la vulnerabilidad se solucionó en la versión 5.0.0, no hay indicios de una solución de seguridad según el registro de cambios de Fluent Form Contact Form Builder, donde los cambios en el software se registran de forma rutinaria.
Esta es la entrada del registro de cambios de Fluent Forms Contact Form Builder para la versión 5.0.0:
- “5.0.0 (FECHA: 22 DE JUNIO DE 2023)
UI renovada y mejor UX- Mejora global del estilizador
- El nuevo marco para una respuesta más rápida
- Se solucionó el problema con el campo repetidor que no aparecía correctamente en PDF
- Se solucionó el problema con WPForm Migrator que no transfería correctamente campos de texto a campos de entrada de texto con la longitud máxima de texto correcta.
- Problema solucionado con la migración de entrada.
- Formato de número fijo en archivos PDF
- Se solucionó el problema de la etiqueta del campo de radio
- Rutas Ajax actualizadas a rutas de descanso
- Convención de nomenclatura de ganchos de acción y filtros actualizada con compatibilidad con ganchos más antiguos
- Cadenas de traducción actualizadas”
Es posible que una de esas entradas sea la solución. Pero algunos desarrolladores de complementos quieren mantener en secreto las correcciones de seguridad, por cualquier motivo.
Recomendaciones:
Se recomienda que los usuarios del formulario de contacto actualicen su complemento lo antes posible.
Imagen destacada de Shutterstock/Kues
Con información de Search Engine Journal.
Leer la nota Completa > Vulnerabilidad en el complemento de WordPress del formulario de contacto de Fluent Forms