Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-63030 — WordPress 未授权RCE EXP | CVE-2026-63030 | Kitploit
Ferramentas/GitHubGitHub/mhtsec/cve-2026-63030
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingPayload Development
GitHubmhtsec/cve-2026-63030

CVE-2026-63030

WordPress 未授权RCE EXP | CVE-2026-63030

Ver Repositório
95há 1 mêsAinda 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-63030

Cadeia de exploração completa (PoC) que combina confusão de rota batch da REST API do WordPress com injeção SQL resultando em criação de administrador não autenticado → execução remota de código.

Exclusivamente para testes de segurança autorizados, reprodução de vulnerabilidades e pesquisa. Proibido o uso em alvos não autorizados.

Visão geral da vulnerabilidade

ItemDescrição
CVECVE-2026-63030
ComponenteWordPress Core REST API (/batch/v1)
Versões afetadasWordPress 6.9.0 – 6.9.4, 7.0.0 – 7.0.1 (de acordo com o boletim oficial)
Pré-condição do ataqueO alvo deve ter a REST API batch ativada; o site deve ter pelo menos um artigo ou página publicada
Requisito de permissãoNenhum login necessário (Pré-Auth)
ImpactoCriação de conta de administrador, podendo ainda fazer upload de plugin para RCE

Cadeia de ataque

root@kitploit:~
Confusão de rota batch REST
    → Injeção SQL author__not_in
    → UNION para falsificar WP_Post / oEmbed cache / Customizer changeset
    → Ao publicar no Customizer, alterna para contexto de administrador existente
    → REST /wp/v2/users cria novo administrador
    → Upload de plugin descartável no painel
    → Execução de comando no sistema

O núcleo não é "empilhar escritas no banco", mas sim:

  1. serve_batch_request_v1() dessincroniza os índices $matches / $validation entre a fase de validação e a de despacho, causando confusão de rota.
  2. Após o desalinhamento, a string author_exclude entra como author__not_in no WP_Query, sendo interpolada em NOT IN (...), gerando uma injeção SQL.
  3. Através de UNION SELECT, falsifica uma linha completa de wp_posts, acionando a lógica de oEmbed / Customizer, que troca o contexto do usuário atual para um administrador existente.
  4. Como administrador, chama a interface REST de criação de usuários, escrevendo um novo administrador.
  5. Faz login, faz upload de plugin, e executa comandos.

Requisitos de ambiente

  • Python 3.10+ (apenas bibliotecas padrão, sem dependências de terceiros)
  • Alvo: uma instância do WordPress que você tem permissão para testar
  • O PHP do alvo deve ter pelo menos uma função executável disponível (proc_open / passthru / system / shell_exec / exec / popen)
  • Se disable_functions desabilitar todas as funções de execução de comandos, ainda é possível criar o administrador, mas a etapa de RCE falhará

Descrição dos arquivos

root@kitploit:~
CVE-2026-63030/
├── exp.py        # Script de exploração completo (arquivo único, zero dependências)
└── README.md     # Esta documentação

Como usar

Uso mínimo (cria administrador automaticamente, executa id por padrão)

root@kitploit:~
python3 exp.py --url http://192.168.1.10:8080/

Personalizar todos os parâmetros

root@kitploit:~
python3 exp.py --url http://192.168.199.134:9005/ --username mht --password 'mht666' --email [email protected] --command 'id' --timeout 60

Descrição dos parâmetros

Exemplo de saída esperada

root@kitploit:~
[*] Creating administrator via SQLi -> customizer bridge...
[+] Generated administrator: labadmin
[*] Password: S3cure!pass
[*] Email: [email protected]
[*] Logging in as generated administrator...
[+] Authenticated.
[*] Uploading one-shot command plugin...
[*] Plugin path: http://192.168.1.10:8080/wp-content/plugins/lab_wp2_cmd_xxxxxxxx/lab_wp2_cmd_xxxxxxxx.php
[*] Executing command: id
[+] command output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
[via: proc_open]
[*] Deleting generated administrator...
[+] Generated administrator removed.
[*] Cleaning up temporary plugin...
[+] Temporary plugin removed.

O script, ao final, tenta:

  1. Remover o administrador criado
  2. Remover o diretório do plugin temporário

Se houver falha no meio do caminho, faça a limpeza manual usando as credenciais exibidas na saída.

Notas

  1. Apenas ambientes autorizados: Não utilize em sistemas sem autorização.
  2. Restrição de alvo: Por padrão, o script rejeita IPs públicos literais; aceita apenas IPs privados / loopback / link-local ou nomes de domínio.
  3. PHP reforçado: Se aparecer has been disabled for security reasons, significa que disable_functions desabilitou a função correspondente. O PoC tenta diversos métodos de execução sequencialmente; se todos estiverem proibidos, o RCE não funcionará, mas a etapa de criação do administrador ainda pode ter sucesso.
  4. Conteúdo do site: Necessário pelo menos um artigo ou página publicada para semear o cache oEmbed.
  5. Idempotência e limpeza: Cada execução cria um novo administrador e um plugin temporário; no caminho bem-sucedido eles são removidos automaticamente. Em caso de falha, verifique manualmente em wp-admin/users.php e wp-content/plugins/.

Recomendações de correção

  • Atualize para a versão já corrigida pelo fornecedor (conforme boletim de segurança do WordPress)
  • Enquanto o patch não estiver disponível, restrinja temporariamente o acesso não autenticado a /batch/v1
  • Em produção, mantenha disable_functions e a configuração do usuário web com privilégios mínimos para reduzir o impacto de um RCE

Aviso Legal

O código neste repositório destina-se exclusivamente à pesquisa de segurança e reprodução autorizada de vulnerabilidades. O usuário deve garantir a conformidade com as leis locais e com a autorização do sistema alvo. O autor não se responsabiliza por qualquer uso indevido.

Baixar ferramenta
ParâmetroObrigatórioValor padrãoDescrição
--urlSimNenhumURL raiz do WordPress alvo
--usernameNãowp2_<hex>Nome de usuário do administrador a ser criado
--passwordNãoWp2!<random>Senha do administrador a ser criado
--emailNão<username>@wp2shell.invalidEmail do administrador a ser criado
--command / -cNãoidComando a ser executado via plugin descartável
--timeoutNão60Timeout HTTP por requisição (segundos)