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-5118 — Divi Form Builder <= 5.1.2 — Escalação de Privilégios Não Autenticada via Injeção de Função | Kitploit
Ferramentas/GitHubGitHub/yucaerin/cve-2026-5118
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHubyucaerin/cve-2026-5118

CVE-2026-5118

Divi Form Builder <= 5.1.2 — Escalação de Privilégios Não Autenticada via Injeção de Função

Ver Repositório
11há 3 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-5118 — Divi Form Builder <= 5.1.2 — Escalação de Privilégio Não Autenticada via Injeção de Função

🔥 Resumo da Vulnerabilidade

O plugin WordPress Divi Form Builder versões <= 5.1.2 é vulnerável a uma vulnerabilidade de escalada de privilégio não autenticada. Essa falha crítica permite que atacantes não autenticados criem uma nova conta de Administrador diretamente através de qualquer formulário do Divi Form Builder — incluindo formulários de contato, formulários de orçamento, formulários de newsletter ou qualquer outro formulário habilitado com DFB.

A vulnerabilidade decorre da função create_user() em FormSubmissionHandler.php, que aceita o parâmetro role diretamente dos dados POST enviados pelo usuário, sem autorização adequada ou validação de lista de permissões. O plugin apenas verifica se a função enviada existe no sistema (por exemplo, administrator é uma função válida do WordPress) — nunca verifica se a função é segura para registro público.

Descoberta Inovadora: O fb_nonce usado pelo Divi Form Builder é um nonce global compartilhado (wp_create_nonce('security')) — idêntico em todos os formulários do site. Além disso, form_type=register pode ser substituído via POST para o manipulador AJAX compartilhado. Isso significa que qualquer formulário DFB (contato, orçamento, feedback, etc.) pode ser usado como arma para acionar o registro de usuário com atribuição arbitrária de função.

🔍 Plugin Afetado

  • Nome do Plugin: Divi Form Builder
  • Versão Afetada: <= 5.1.2
  • Tipo de Vulnerabilidade: Escalada de Privilégio Não Autenticada via Injeção de Função
  • CVE ID: CVE-2026-5118
  • Pontuação CVSS: 9.8 (Crítico)
  • CWE: CWE-266 — Atribuição Incorreta de Privilégio
  • Impacto: Tomada Completa do Site — Criação de Conta de Administrador

🧨 O Que os Atacantes Podem Fazer

🧪 Recursos do Exploit

  • 🔓 Nenhuma autenticação necessária
  • 📝 Funciona através de QUALQUER formulário DFB — contato, orçamento, newsletter, feedback, etc.
  • 🎯 Tem como alvo o endpoint AJAX /wp-admin/admin-ajax.php?action=de_fb_ajax_submit_ajax_handler
  • 🧠 Injeção de função — envia role=administrator junto com campos normais do formulário
  • 🌐 Suporte a varredura em massa — scanner multi-alvo com threads e descoberta automática
  • 📄 Resultados salvos em result.txt

🧠 Código Vulnerável

root@kitploit:~
// includes/shared/handlers/FormSubmissionHandler.php ~ line 2250
$role = isset($form_data['role']) ? sanitize_text_field($form_data['role']) : 'subscriber';

// ~ line 2278 — ONLY checks if role EXISTS, not if it is SAFE
$roles_obj = function_exists('wp_roles') ? wp_roles() : null;
if ($roles_obj && is_object($roles_obj) && is_array($roles_obj->roles) && !isset($roles_obj->roles[$role])) {
    $role = 'subscriber';  // ← "administrator" EXISTS, so this check PASSES
}

// ~ line 2301 — Directly applies the injected role
$user = new WP_User($user_id);
$user->set_role($role);  // ← PRIVILEGE ESCALATION!

🚀 Uso

Alvo Único

root@kitploit:~
python3 exploit.py -t http://target.com
python3 exploit.py -t https://target.com -u hacker -p Pass123! -e [email protected]

Varredura em Massa (Lista sem http/https)

Crie targets.txt:

root@kitploit:~
target1.com
target2.com:8080
192.168.1.50
subdomain.target.com
root@kitploit:~
python3 exploit.py -l targets.txt -T 20

Opções

🛠 Recomendações de Correção

root@kitploit:~
// SECURE: Allowlist only safe roles for public registration
$allowed_registration_roles = array('subscriber', 'contributor');
if (!in_array($role, $allowed_registration_roles, true)) {
    $role = 'subscriber';  // ← Reject ALL dangerous roles
}
  • Remova completamente a entrada oculta role dos formulários frontend
  • Adicione verificações de capacidade current_user_can('create_users') para funções privilegiadas
  • Implemente verificação rigorosa de nonce com escopo por formulário em vez de global
  • Adicione limitação de taxa no endpoint AJAX de registro

🧠 Pesquisador

  • Crédito: 0xd4rk5id3

📚 Referências

  • Aviso do Wordfence
  • Repositório Original do CVE

🔒 Aviso Legal:

Estas informações são fornecidas apenas para fins educacionais e de teste de penetração autorizado. A exploração não autorizada de sistemas de computador é ilegal e antiética. Sempre obtenha permissão explícita por escrito antes de testar qualquer alvo que não seja de sua propriedade.

Baixar ferramenta
CapacidadeImpacto
🔑 Criar conta de administrador sem loginTomada Completa do Site
📦 Acessar dados de clientes WooCommerceViolação de Dados
💉 Editar arquivos PHP de plugins/temasExecução Remota de Código
🕳️ Instalar backdoors ocultosAcesso Persistente
👥 Visualizar todos os dados de usuáriosViolação de Privacidade
FlagDescrição
-t, --targetURL do alvo único
-l, --listArquivo com lista de alvos (um por linha, http/https opcional)
-T, --threadsThreads para varredura em massa (padrão: 10)
-o, --outputArquivo de saída para resultados (padrão: result.txt)
-u, --usernameNome de usuário personalizado para nova conta
-p, --passwordSenha personalizada para nova conta
-e, --emailEmail personalizado para nova conta
-v, --verboseSaída de depuração detalhada (verbose)
--no-confirmPular prompt de confirmação de permissão