Ninja Forms: explotan un fallo para colar puertas traseras

Ninja Forms: explotan un fallo para colar puertas traseras

Los atacantes están aprovechando fallos de cross-site scripting almacenado (XSS) en dos plugins de WordPress, Ninja Forms y WPC Product Bundles for WooCommerce, para crear cuentas de administrador fraudulentas e instalar puertas traseras en los sitios comprometidos, según Patchstack.

Los dos plugins no tienen relación entre sí, pero los ataques contra ambos parecen proceder de la misma fuente. En los dos casos se sirvió la misma carga maliciosa en JavaScript desde el dominio imgcdn1[.]com.

Dos plugins, una misma carga maliciosa

Ninja Forms permite a los propietarios de sitios crear formularios personalizados sin escribir código. Funciona en más de 500.000 sitios WordPress. WPC Product Bundles for WooCommerce, que agrupa productos en lotes para tiendas online, está activo en más de 30.000 sitios.

Los fallos se identifican como:

  • CVE-2026-94504, que afecta a Ninja Forms 3.15.3 y versiones anteriores
  • CVE-2026-93836, que afecta a WPC Product Bundles for WooCommerce 8.6.6 y versiones anteriores

Ambos tienen una gravedad alta y los dos requieren una sesión autenticada para ser explotados.

Patchstack, una plataforma de seguridad centrada en WordPress, detectó la campaña por primera vez el 4 de octubre, cuando atacó a usuarios de WPC Product Bundles. Un día después, la misma actividad apareció contra Ninja Forms.

Cómo funciona el ataque

El atacante intenta inyectar un script malicioso, x.js, en los datos de pedidos de WooCommerce o en los envíos de Ninja Forms. No ocurre nada hasta que un administrador con la sesión iniciada abre ese contenido. En ese momento, el script se ejecuta dentro de la sesión autenticada de WordPress del administrador.

A continuación, el script obtiene los nonces administrativos que necesita y llama a funciones legítimas de WordPress para hacer dos cosas. Instala un plugin falso llamado "WP Smart Thumbnails", versión 1.2.4, atribuido a "MediaPress Labs", y crea una nueva cuenta de administrador.

A partir de ahí, la carga maliciosa en JavaScript y los scripts PHP del plugin establecen cuatro vías distintas para volver a entrar en el sitio:

  • una cuenta de administrador visible
  • una cuenta de administrador oculta en la lista de usuarios del escritorio
  • una URL de acceso secreta que inicia sesión con el visitante como el administrador más antiguo del sitio
  • un gestor de archivos que no requiere autenticación y al que se accede mediante una petición directa al archivo PHP principal del plugin falso

El gestor de archivos no puede ejecutar comandos. Sin embargo, sí puede utilizarse para subir más cargas maliciosas.

Diseñado para sobrevivir a la limpieza

Eliminar WP Smart Thumbnails no basta. La cuenta oculta y la URL de acceso secreta siguen funcionando a través de plugins auxiliares independientes, que llevan marcas de tiempo antedatadas para no llamar la atención.

Patchstack afirma que el administrador oculto es prácticamente invisible para el propietario del sitio. "La cuenta [oculta] no aparece en Usuarios → Todos los usuarios, no aparece en el filtro Administrador y no se cuenta en los totales que hay encima de la lista", explicaron los investigadores. "Es un administrador con todos los privilegios que el propietario del sitio no puede ver".

Parches disponibles

Por ahora, la explotación es limitada, según Patchstack. Los propietarios de sitios deben actualizar a Ninja Forms 3.15.4 o posterior y a WPC Product Bundles for WooCommerce 8.6.7 o posterior.

Actualizar cierra el agujero, pero no elimina una infección ya existente. Se recomienda encarecidamente a los administradores que busquen indicios de compromiso, como plugins desconocidos y cuentas de administrador que quizá no aparezcan en la vista estándar de usuarios.

Por qué importa

La campaña demuestra que un fallo que requiere autenticación puede seguir siendo peligroso. Aquí el atacante no necesita credenciales de administrador de entrada. El plan se basa en que un administrador haga su trabajo rutinario, como revisar pedidos o entradas de formularios, y el script malicioso se aprovecha de esa sesión.

También merece la pena destacar la persistencia por capas. Con cuatro vías de acceso y plugins auxiliares diseñados para sobrevivir a la puerta trasera principal, es probable que una limpieza rápida pase algo por alto. Para los propietarios de sitios, esto indica que la recuperación debe tratarse como una respuesta a incidentes completa y no como la simple eliminación de un plugin.

La lección de fondo es conocida. Como se ha visto en casos en los que un parche no aplicado acabó en una brecha importante, el intervalo entre la publicación de una corrección y su aplicación es donde operan los atacantes, y ese margen parece estar reduciéndose a medida que la explotación se acelera. Con Ninja Forms instalado en más de medio millón de sitios, conviene vigilar si esta actividad se mantiene limitada o se extiende ahora que la técnica es pública.