La vulnerabilidad CVE-2026-0740 en el addon File Uploads de Ninja Forms tiene un CVSS de 9.8 (crítico) y permite a cualquier atacante no autenticado subir archivos PHP arbitrarios al servidor, lo que deriva en ejecución remota de código. Wordfence confirmó explotación activa en la semana del 14 de abril de 2026. Todos los sitios que usen la versión 3.3.26 o anterior están expuestos.
En 30 segundos
- CVE-2026-0740, CVSS 9.8: el addon File Uploads de Ninja Forms permite subir .php sin autenticación en versiones hasta 3.3.26.
- El parche existe desde el 19 de marzo de 2026 (versión 3.3.27), pero ~50.000 sitios siguen sin actualizar.
- Un atacante puede subir un webshell PHP y tomar control total del servidor.
- Wordfence detectó explotación activa confirmada a partir de mediados de abril de 2026.
- Solución inmediata: actualizar el addon a 3.3.27 y revisar la carpeta
/uploads/ninja-forms/por archivos sospechosos.
¿Qué es la vulnerabilidad Ninja Forms seguridad CVE-2026-0740?
El addon File Uploads de Ninja Forms es una extensión de pago para el popular plugin de formularios que permite recibir archivos adjuntos desde el frontend. La vulnerabilidad CVE-2026-0740 es un fallo de carga arbitraria de archivos sin autenticación, con puntuación CVSS 9.8 sobre 10 (crítico).
La función vulnerable es NF_FU_AJAX_Controllers_Uploads::handle_upload. El problema: no valida correctamente el tipo de archivo que acepta. Un atacante puede enviar un archivo .php disfrazado y el servidor lo procesa sin chistar (sí, en serio). Una vez que el archivo está en el servidor y es ejecutable, el atacante tiene acceso total al entorno.
Wordfence reportó el fallo el 8 de enero de 2026. El parche llegó el 19 de marzo, más de dos meses después. El problema es que miles de sitios no actualizaron, y los atacantes aprovecharon esa ventana.
¿Quién está expuesto?
El addon File Uploads no es un plugin menor: según el reporte de Wordfence, alrededor de 50.000 sitios WordPress lo tienen instalado. Todos los que no actualizaron a la versión 3.3.27 están en riesgo.
Si en tu formulario hay un campo de tipo «adjuntar archivo» construido con Ninja Forms, revisá ahora mismo qué versión del addon tenés. No importa si el formulario lo usa poca gente o si el sitio tiene poco tráfico: los atacantes escanean masivamente, no apuntan a nadie en particular. Complementá con herramientas de protección avanzada.
Cómo funciona el ataque
La cadena es bastante directa. Primero, el atacante identifica un sitio con el addon activo (trivial con un crawler). Después manda una petición POST al endpoint AJAX de carga de archivos, incluyendo un archivo shell.php con alguna extensión manipulada o con un MIME type engañoso. La función handle_upload no rechaza el archivo porque la validación del tipo es inadecuada.
Una vez subido, el archivo queda en un directorio accesible por web. El atacante lo llama desde el navegador, el servidor PHP lo ejecuta, y ya tiene un webshell. Desde ahí puede leer credenciales de la base de datos, exfiltrar el wp-config.php, crear usuarios admin, o directamente tomar el servidor.
Hay reportes que también mencionan path traversal: en algunos casos el atacante puede controlar el directorio de destino del archivo, lo que le permite colocar el payload en rutas más sensibles. ¿Esto está confirmado en todos los exploits vistos? Todavía no, según SecurityWeek. Pero el RCE básico sí está activo.
¿Qué versiones tienen el bug?
Todas las versiones del addon File Uploads de Ninja Forms hasta 3.3.26 inclusive. La versión 3.3.27, publicada el 19 de marzo de 2026, incluye el parche.
El timeline completo, según la York University Information Security:
- 8 de enero de 2026: Wordfence reporta el fallo al equipo de Saturday Drive (los desarrolladores de Ninja Forms).
- 19 de marzo de 2026: publicación del parche en versión 3.3.27.
- 14 de abril de 2026: Wordfence confirma explotación activa en sitios sin actualizar.
Son 70 días entre el reporte y el parche. Demasiado para un fallo de esta severidad.
Cómo actualizar y protegerse ahora
Si tenés el addon, los pasos son concretos:
- Ir a Plugins > Todos los plugins en el panel de WordPress y actualizar «Ninja Forms – File Uploads» a la versión 3.3.27 o superior.
- Correr un escaneo completo con Wordfence (Escanear > Iniciar nuevo escaneo) para detectar archivos PHP que no deberían estar en la carpeta de uploads.
- Revisar manualmente el directorio
/wp-content/uploads/ninja-forms/y sus subcarpetas por archivos.php,.phtml,.pharo con nombres aleatorios. - Agregar un
.htaccessen/wp-content/uploads/que bloquee la ejecución de PHP aunque llegue un archivo malicioso (es una capa de defensa en profundidad que debería estar siempre):
<FilesMatch "\.ph(p[3-8]?|t|tml|ar)$">
deny from all
</FilesMatch>
Eso sí: si ya tenés el archivo malicioso subido antes de actualizar, el parche no lo elimina. La actualización evita nuevas infecciones, pero no limpia lo que ya entró. Sobre eso hablamos en defensas multicapa y contención.
Cómo saber si ya te comprometieron
Hay señales bastante claras. Primero revisá /wp-content/uploads/ninja-forms/: si hay archivos .php que vos no subiste, es una señal de alarma. También fijate en /wp-content/uploads/ en general, no solo en la subcarpeta de Ninja Forms, porque algunos exploits de path traversal pueden depositar archivos en directorios adyacentes.
Segundo, revisá los logs de acceso del servidor (generalmente en /var/log/apache2/access.log o via cPanel > Logs). Buscá peticiones POST a rutas que contengan ninja-forms o nf_upload. Si hay peticiones con respuesta 200 y un user-agent poco común, investigá.
Tercer lugar: Google Search Console. Si el sitio fue comprometido para spam o redirecciones, GSC te va a mostrar páginas indexadas que no creaste, o alertas de contenido hackeado. El escaneo de malware de Wordfence también detecta webshells comunes en la base de firmas actualizada.
Alternativas a Ninja Forms para carga de archivos
Si este CVE te convenció de evaluar otras opciones, hay algunas con mejor historial de seguridad. La pregunta relevante no es solo «¿cuál tiene carga de archivos?» sino «¿cuál tiene un equipo que parchea rápido?»
| Plugin | Instalaciones activas | Carga de archivos nativa | Observaciones |
|---|---|---|---|
| WPForms | 6 millones+ | Sí (plan Pro) | Historial de seguridad sólido, respuesta rápida a CVEs |
| Gravity Forms | ~1 millón | Sí, nativo | Solo pago, pero muy robusto para formularios complejos |
| Fluent Forms | 400.000+ | Sí (plan Pro) | Alternativa más económica, parches recientes sin mayores incidentes |
| Formidable Forms | 300.000+ | Sí, nativo | Buena base de código, orientado a formularios avanzados |
| Contact Form 7 | 10 millones+ | Sí, con addon | Tuvo su propio CVE de carga de archivos en 2020, parcheado; conviene auditar la config |

WPForms tiene más instalaciones y un equipo que históricamente respondió bien a vulnerabilidades críticas. Gravity Forms es la opción para quienes necesitan formularios complejos y no les molesta pagar más. Contact Form 7 zafó en 2020 pero conviene no usarlo para carga de archivos sin configuración cuidadosa del tipo MIME permitido. Para más detalles técnicos, mirá optimizar tu presencia online.
Si migrás, aprovechá para alojar el sitio con hosting que incluya protección a nivel servidor. En donweb.com los planes de WordPress managed incluyen reglas de seguridad en el WAF que pueden frenar este tipo de exploits antes de que lleguen al PHP.
Errores comunes ante este tipo de vulnerabilidades
Error 1: «Actualicé el plugin, ya está.» Actualizar cierra la puerta, pero no expulsa a quien ya entró. Si el exploit llegó antes del parche, hay que hacer una búsqueda activa de webshells y revisar usuarios administradores creados recientemente.
Error 2: Confiar solo en el escaneo de Wordfence. Wordfence es muy bueno, pero detecta firmas conocidas. Un webshell ofuscado o modificado puede no aparecer. El escaneo manual del directorio de uploads sigue siendo necesario.
Error 3: No tener el .htaccess en la carpeta de uploads. Es una capa de defensa básica que mucha gente no tiene. Bloquear la ejecución de PHP en /uploads/ limita el daño incluso si llega a subirse un archivo malicioso. El costo es cero, el beneficio es alto.
Error 4: Revisar solo la carpeta de Ninja Forms. El path traversal permite depositar archivos en otros directorios. Revisá /wp-content/uploads/ completo, no solo la subcarpeta.
Preguntas Frecuentes
¿Afecta la vulnerabilidad Ninja Forms a mi sitio WordPress si no uso el addon de carga de archivos?
No. CVE-2026-0740 está específicamente en el addon «File Uploads» de Ninja Forms, no en el plugin base. Si solo usás Ninja Forms sin ese addon, no estás expuesto a esta vulnerabilidad puntual. Conviene de todas formas revisar que el plugin base esté actualizado. Esto se conecta con lo que analizamos en alternativas seguras de formularios.
¿Cómo actualizo Ninja Forms File Uploads a la versión segura?
Desde el panel de WordPress, entrá a Plugins y buscá «Ninja Forms – File Uploads». Si tenés una versión anterior a 3.3.27, vas a ver la opción de actualizar. Hacelo de inmediato. Si compraste el addon directamente desde ninjaforms.com, también podés descargar la versión 3.3.27 desde tu cuenta y subirla manualmente.
¿Qué versión de Ninja Forms File Uploads tiene el bug de carga de archivos?
Todas las versiones hasta la 3.3.26 inclusive tienen la vulnerabilidad CVE-2026-0740. La versión 3.3.27, publicada el 19 de marzo de 2026, incluye el parche. Cualquier instalación con una versión anterior a esa está expuesta.
¿Cómo evitar ataques de carga de archivos en WordPress en general?
Tres medidas concretas: agregar un .htaccess en /wp-content/uploads/ que bloquee la ejecución de PHP, usar un plugin de formularios que valide tipos MIME tanto en el frontend como en el backend, y configurar el servidor para que el directorio de uploads no sea ejecutable. Ninguna de estas medidas reemplaza tener los plugins actualizados, pero sí limitan el daño si algo se cuela.
¿Cómo detecto si mi sitio ya fue comprometido por este exploit?
Revisá la carpeta /wp-content/uploads/ninja-forms/ por archivos .php que no deberían estar ahí. Corré un escaneo de malware con Wordfence. Revisá los logs de acceso del servidor por peticiones POST sospechosas a endpoints de Ninja Forms. Si encontrás archivos PHP no reconocidos en uploads, tratá el servidor como comprometido y hacé una restauración desde backup limpio.
Conclusión
CVE-2026-0740 es el tipo de vulnerabilidad que los atacantes aman: sin autenticación requerida, impacto máximo, y decenas de miles de sitios sin parchear semanas después de que el fix estuvo disponible. El parche de Ninja Forms tardó 70 días en llegar desde el reporte, y la explotación activa llegó casi un mes después de publicado.
Si usás el addon File Uploads, actualizá ahora a 3.3.27 y auditá los uploads. Si no lo usás, desinstalá el addon de todas formas: tener plugins inactivos con vulnerabilidades conocidas es un riesgo innecesario. Y si estás evaluando alternativas, WPForms y Gravity Forms son opciones más maduras para formularios con adjuntos.
El patrón acá es el de siempre: un addon popular, validación de archivos mal implementada, y una ventana de 70 días entre el reporte y el parche que hoy se está pagando cara.
Fuentes
- Wordfence – Attackers Actively Exploiting Critical Vulnerability in Ninja Forms File Upload Plugin
- BleepingComputer – Hackers exploit critical flaw in Ninja Forms WordPress plugin
- SecurityWeek – Hackers Targeting Critical Ninja Forms Bug
- York University Information Security – CVE-2026-0740 Advisory
- Infosecurity Magazine – Flaw in Ninja Forms WordPress Plugin