Due falle critiche nei plugin WordPress possono portare al controllo completo dei siti
Vulnerabilidades

Imagen ilustrativa generada con IA

Dos fallos críticos en plugins de WordPress pueden permitir tomar el control total de los sitios

Dos vulnerabilidades críticas en plugins WordPress permiten tomar control total. Actualiza Forminator y User Profile Builder para evitar riesgos.

Texto generado por inteligencia artificial, publicado sin revisión humana. Transparencia IA

Forminator permite cargar archivos PHP sin autenticación

Se han reportado dos vulnerabilidades críticas en plugins de WordPress muy extendidos. La primera afecta a Forminator Forms, instalado en más de 600.000 sitios, y está identificada como CVE-2026-15748.

El fallo tiene una puntuación CVSS de 9,8/10,0 y afecta a todas las versiones hasta la 1.56.1 incluida. El problema se corrigió en la versión 1.56.2, publicada el 31 de julio de 2026.

La vulnerabilidad, descubierta por el investigador conocido como “daroo”, permite a un atacante no autenticado cargar archivos arbitrarios mediante un formulario público. Entre los archivos cargados pueden encontrarse scripts PHP, lo que podría conducir a la ejecución remota de código.

Sin embargo, el sitio debe contener un formulario con una combinación concreta:

  • un campo File Upload;
  • un campo Select.

Si faltan estos dos elementos, la vía de ataque descrita no resulta aplicable.

Cómo se elude la validación de las cargas

El defecto se encuentra en la función handle_file_upload(), encargada de gestionar la carga de archivos. La comprobación del tipo de archivo no valida con suficiente solidez todos los valores recibidos del usuario.

El bloqueo de extensiones peligrosas utiliza una coincidencia exacta de las claves. Un atacante puede eludir este control proporcionando claves MIME alternativas separadas por barras verticales, lo que induce al plugin a aceptar un archivo que debería rechazarse.

Además, el controlador público del formulario se basa en la configuración del campo de carga. Esta configuración puede modificarse mediante un valor Select manipulado, sin necesidad de disponer de una cuenta.

En la práctica, el atacante puede enviar el formulario vulnerable y depositar en el servidor un archivo PHP preparado específicamente. Si el servidor lo interpreta como código, podrá ejecutar comandos con los privilegios del proceso web, modificar contenidos, alterar la configuración o crear nuevos accesos administrativos.

La configuración predeterminada ofrece una protección parcial: normalmente, los archivos se guardan en un directorio que contiene un archivo .htaccess para impedir la ejecución de PHP. El riesgo aumenta cuando el administrador configura una raíz personalizada para el almacenamiento de las cargas.

En este escenario, es posible que el archivo .htaccess no se cree correctamente. El helper de WordPress necesario para escribir el archivo no está disponible en el momento de gestionar la solicitud. Por tanto, una solicitud directa posterior al archivo cargado podría hacer que el servidor web ejecutara el código PHP controlado por el atacante.

User Profile Builder permite autenticarse como el usuario 1

La segunda vulnerabilidad afecta a User Profile Builder, presente en más de 40.000 instalaciones, y está identificada como CVE-2026-15826.

El fallo tiene una puntuación CVSS de 9,8, con el vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. Se corrigió en la versión 3.16.5, publicada el 16 de julio de 2026.

Las indicaciones sobre las versiones vulnerables no son completamente uniformes: una descripción señala todas las versiones anteriores, mientras que la ficha disponible en NVD indica como vulnerables las versiones hasta la 3.16.4 incluida. En ambos casos, la medida recomendada es actualizar a la 3.16.5.

El defecto consiste en un authentication bypass causado por una confusión de tipos en la función wppb_log_in_user().

El papel de los nombres de usuario largos y de absint()

La explotación implica registrar un nombre de usuario de entre 61 y 70 caracteres. WordPress rechaza el registro y devuelve un objeto WP_Error.

Sin embargo, el plugin aplica primero absint() al resultado de wp_insert_user() y solo después comprueba si dicho resultado es un error. La conversión fuerza el objeto a convertirse en el entero 1, impidiendo que la comprobación is_wp_error() detenga correctamente el flujo.

De este modo, el plugin asocia a la solicitud un nonce de inicio de sesión automático almacenado mediante un transient y vinculado al usuario con ID 1. En una configuración estándar de WordPress, ese usuario suele corresponder al administrador principal.

El requisito específico es que la opción Automatically Log In esté activada en el plugin. Cuando se cumple esta condición, un atacante no autenticado puede acceder como el usuario 1, eludiendo el proceso normal de autenticación.

El impacto puede incluir acceso administrativo completo, modificación del sitio, instalación de código, alteración de cuentas y toma de control de toda la instalación de WordPress.

Qué deben hacer los administradores

La medida prioritaria consiste en actualizar ambos plugins:

  • Forminator Forms a la versión 1.56.2 o posterior;
  • User Profile Builder a la versión 3.16.5 o posterior.

Después de actualizar, conviene comprobar que no queden copias obsoletas, instalaciones de prueba o entornos secundarios expuestos a Internet.

En Forminator, es necesario identificar los formularios que combinan campos File Upload y Select, y revisar la configuración Custom File Upload Storage root. También se recomienda inspeccionar los archivos cargados recientemente, prestando especial atención a archivos PHP inesperados, extensiones anómalas y solicitudes web dirigidas directamente a los directorios de carga.

Los registros pueden ayudar a detectar:

  • solicitudes POST hacia formularios públicos;
  • cargas de archivos PHP o con dobles extensiones;
  • accesos posteriores a archivos recién cargados;
  • solicitudes anómalas hacia directorios de almacenamiento personalizados.

En User Profile Builder debe comprobarse el estado de Automatically Log In, que conviene mantener desactivado cuando no sea imprescindible. Los administradores también deberían revisar las cuentas nuevas, las modificaciones de perfiles, los accesos asociados al usuario con ID 1, los nonces sospechosos y los cambios recientes en plugins, temas y configuraciones.

Para CVE-2026-15826 no hay, en los datos analizados, información que confirme su inclusión en el catálogo CISA KEV, ni una fecha de incorporación o vencimiento. Tampoco constan para CVE-2026-15748 un estado KEV, un vector CVSS oficial de NVD u otros metadatos adicionales de NVD.

Los dos fallos se detectaron el 17 de agosto de 2026. Ambos pueden explotarse sin autenticación y, cuando se cumplen sus respectivos requisitos, pueden provocar la completa comprometida del sitio.

Lee también

Fuentes

Este artículo es una reelaboración original basada en las siguientes fuentes.

CVE tratadas en este artículo

Temas relacionadosWordPresspluginsvulnerabilidadesForminatorUser Profile BuilderseguridadCVEactualización
Volver al inicio