
PoC em Python que valida a escalada de privilégios não autenticada CVE-2025-6325 e o RCE por upload arbitrário de arquivos CVE-2025-6327 no King Addons for Elementor <= 51.1.36.
Ferramenta de pesquisa e validação para King Addons for Elementor <= 51.1.36, cobrindo duas vulnerabilidades documentadas:
Apenas para testes de segurança autorizados, pesquisa de vulnerabilidades e ambientes de laboratório controlados.
Este projeto fornece um PoC de dupla finalidade para validar o impacto de segurança de duas vulnerabilidades no King Addons for Elementor.
Escalação de privilégios não autenticada através da funcionalidade de registro do King Addons.
O fluxo vulnerável aceita um valor user_role controlado pelo cliente e o passa para a criação de usuário do WordPress sem impor uma lista de permissões de funções apropriada.
Versão afetada: <= 51.1.36
Versão corrigida: 51.1.37
O fluxo de registro vulnerável usa:
POST /wp-admin/admin-ajax.php
action=king_addons_user_register
user_role=administrator
O PoC também verifica se a conta criada consegue autenticar e acessar a página de administração de usuários do WordPress.
Upload arbitrário de arquivos não autenticado através da funcionalidade de upload do construtor de formulários do King Addons.
O manipulador de upload vulnerável pode aceitar incorretamente um arquivo PHP, resultando em um arquivo enviado acessível pela web e potencial execução de código no lado do servidor.
Versão afetada: <= 51.1.36
Versão corrigida: 51.1.37
A ação AJAX relevante é:
POST /wp-admin/admin-ajax.php
action=king_addons_upload_file
O PoC valida o fluxo de upload e verifica se o arquivo de teste enviado consegue executar um comando id benigno.
O script suporta quatro modos de operação:
check
privesc
upload
both
Esses modos são expostos diretamente pela interface de linha de comando.
Python 3 é necessário.
Nenhum pacote Python de terceiros é necessário.
Verifique sua versão do Python:
python3 --version
Execute ambas as verificações de vulnerabilidade:
python3 exploit.py -u http://target.local --exploit both
Descubra nonces expostos do King Addons sem executar os estágios de exploração:
python3 exploit.py -u http://target.local --exploit check
python3 exploit.py -u http://target.local --exploit privesc
python3 exploit.py -u http://target.local --exploit upload
Crie um arquivo de alvos:
http://target1.local
https://target2.local
http://target3.local
Comentários e linhas vazias são ignorados.
Execute uma avaliação passiva:
python3 exploit.py -l targets.txt --exploit check
Execute ambos os estágios de validação:
python3 exploit.py -l targets.txt --exploit both -t 20
Execute a validação de upload:
python3 exploit.py -l targets.txt --exploit upload -t 20
Execute a validação de escalação de privilégios:
python3 exploit.py -l targets.txt --exploit privesc -t 20
O PoC procura automaticamente nas páginas do alvo os nonces necessários para os dois fluxos vulneráveis.
Configurações padrão do rastreador:
Depth : 3
Max pages : 80
Timeout : 20 seconds
Threads : 10
Esses padrões são definidos na configuração CLI do script.
Exemplo:
python3 exploit.py \
-l targets.txt \
--exploit both \
-t 20 \
--depth 3 \
--max-pages 80 \
--timeout 20
O script usa por padrão results.tsv para resultados estruturados e loot.txt para entradas de validação bem-sucedida.
Durante a execução, a ferramenta reporta vários estados.
Indica que a validação de upload foi bem-sucedida e o arquivo PHP de teste respondeu à requisição de verificação.
Exemplo:
PWNED [SHELL]
Indica que a validação de escalação de privilégios criou uma conta usando o fluxo de registro vulnerável.
A ferramenta também registra se a conta foi verificada na página de administração de usuários do WordPress.
A conta criada foi autenticada com sucesso e confirmada na página de usuários do WordPress.
A requisição de registro foi bem-sucedida, mas o passo de verificação subsequente não conseguiu confirmar a conta resultante.
Nenhum resultado de validação bem-sucedida foi obtido.
O alvo produziu um erro de rede, análise, rastreamento ou outro erro de execução.
Os resultados estruturados são gravados como TSV:
results.tsv
A saída contém campos para:
target
status
shell_url
shell_rce
priv_user
priv_pwd
priv_verified
err
Esse formato é útil para importar resultados em planilhas ou processamento posterior.
Entradas de validação bem-sucedida também são gravadas em:
loot.txt
O script grava resultados de shell e de validação de privilégios como entradas separadas.
Visitor
│
▼
Public King Addons Register Form
│
▼
Nonce discovery
│
▼
king_addons_user_register
│
▼
Client-controlled user_role
│
▼
WordPress user creation
│
▼
Privilege escalation validation
O PoC envia especificamente:
user_role=administrator
para o endpoint de registro.
Visitor
│
▼
King Addons Form Builder
│
▼
Upload nonce discovery
│
▼
king_addons_upload_file
│
▼
PHP test file upload
│
▼
Uploaded file URL
│
▼
Benign execution verification
O PoC usa um nome de arquivo de teste gerado exclusivamente e verifica a URL de upload retornada.
A implementação da pesquisa foi testada contra:
WordPress 6.8 / 7.1
Elementor 4.2.3
King Addons 51.1.14
As notas de pesquisa relatam validação bem-sucedida de ambos os fluxos em um ambiente de laboratório controlado, incluindo escalação de privilégios e execução de shell. Um controle negativo também foi testado contra a versão 51.1.37.
As notas de pesquisa indicam que algumas versões ZIP do WordPress.org para 51.1.35 e 51.1.36 foram posteriormente reetiquetadas com correções parciais.
A implementação vulnerável foi, portanto, confirmada usando a tag SVN referenciada 51.1.14.
Se for reproduzir a pesquisa, use a versão exata de laboratório e o pacote identificado pela pesquisa, em vez de assumir que todo pacote rotulado 51.1.35 ou 51.1.36 contém código vulnerável idêntico.
Este projeto destina-se a:
Teste apenas sistemas para os quais você possui autorização explícita.
Não use este projeto contra infraestrutura de terceiros sem permissão.
O autor não incentiva acesso não autorizado, persistência, roubo de dados ou interrupção de sistemas.
Este software é fornecido para fins de pesquisa de segurança e testes autorizados.
Você é responsável por garantir que seu uso deste projeto esteja em conformidade com leis, regulamentos, contratos e requisitos de autorização aplicáveis.
O autor e os contribuidores não assumem qualquer responsabilidade por uso indevido, danos, interrupção de serviço, perda de dados ou outras consequências resultantes de uso não autorizado.
JohenLastGen — JLG NETWORK
Pesquisa e Ferramentas de Segurança
Telegram:
@johenlastgen
Canal:
@jlgnetworkredirect
Licença MIT
Consulte LICENSE para o texto completo da licença.
| Opção | Descrição |
|---|
-u, --url | Testa uma única URL de alvo |
-l, --list | Arquivo contendo URLs de alvos |
-e, --exploit | Seleciona check, privesc, upload ou both |
-t, --threads | Número de workers concorrentes |
--depth | Profundidade máxima de links do rastreador |
--max-pages | Número máximo de páginas rastreadas por alvo |
--timeout | Timeout de requisição HTTP em segundos |
-o, --output | Saída de resultados em TSV |
--loot | Saída de validação bem-sucedida |
--no-color | Desabilita cores no terminal |