WordPressプラグイン「Essential Addons for Elementor」に権限昇格の脆弱性(CVE-2026-118205)

CVSS 7.4 HIGH 未ログインで悪用可能

対象プラグイン Essential Addons for Elementor (Essential Addons for Elementor – Popular Elementor Templates & Widgets)
有効インストール約 1,000,000 件
影響バージョン6.8.7 以下
修正版6.8.8
CVECVE-2026-118205
種類権限昇格(Improper Privilege Management)
悪用される確率(EPSS)0.47%(全脆弱性の上位 59%)
公表2026年10月30日 当サイト掲載: 2026年11月2日 12:20

何が起きるか

バージョン6.8.7以前では、ログインしていない第三者が「編集者」権限のアカウントを作成できる恐れがあります。編集者になると、他人の記事の改ざんや公開、ファイルのアップロードなどが可能になります。

想定される被害と条件

  • 未ログインの第三者に、「編集者」権限を持つアカウントを勝手に作られる恐れがあります
  • 編集者の権限で、既存の記事・固定ページの改ざん、削除、公開が行われる可能性があります
  • 悪意あるスクリプトを埋め込んだページやファイルが設置され、訪問者に被害が広がる恐れがあります
  • 被害が起きるのは、次の3つの条件がすべてそろった場合です。「設定 > 一般」で「だれでもユーザー登録ができるようにする」が有効であること、Login/Registerウィジェットを置いたページがあること、管理者がそのページで「新規ユーザーの権限」を既定以外の値で保存した後に元へ戻した履歴があること

今日やること

Essential Addons for Elementor を 6.8.8 以上に更新し、すぐに更新できない場合はプラグインの停止・削除を検討してください。

すぐに更新できない場合

「設定 > 一般」の「だれでもユーザー登録ができるようにする」のチェックを外し、Login/Registerウィジェットを置いたページを非公開にするか、ウィジェットを外してください。

更新後に確認すること

  • 「ユーザー > ユーザー一覧」で権限を「編集者」で絞り込み、身に覚えのないアカウントがないか確認し、あれば削除します
  • 「投稿」と「固定ページ」の一覧で、最近更新・公開されたものに見覚えのない内容や不審なリンクがないか確認します
  • 「メディア > ライブラリ」で、身に覚えのないファイルがアップロードされていないか確認します
  • 不審な点が見つかった場合は、管理者全員のパスワードを変更し、保守担当者に連絡してください

不審な投稿・ユーザー・ファイルが見つかった場合は、専門家への相談をおすすめします。

Essential Addons for Elementor の現在の情報 (WordPress.org、2026-11-02 取得)

最新版6.8.8 修正版を含む
対応 WordPress5.3 以上(検証済み 7.1.4)
最終更新2026-10-28 11:26am GMT
有効インストール1,000,000+
リンクWordPress.org のページ 公式サイト

技術的な詳細(修正差分の解析)

修正前後のコード(6.8.7 → 6.8.8)を WordPress.org から取得して差分を解析しました。特定の確度: 中。攻撃に使える手順は記載していません。

原因となった処理

  • Login/Register ウィジェットの登録処理 register_user() は、クライアントから送られる page_id を基に Helper::eael_get_widget_settings() でそのページの Elementor ウィジェット設定(_elementor_data 内の register_user_role など)を読み込み、新規ユーザーに付与するロールを決めていた。page_id が本当に公開中の本体ページかどうかの検証が不十分だった。
  • 投稿ステータスの拒否リストは future / draft / pending だけを弾き、リビジョンが持つ inherit を通していた。そのため本体ページの代わりにリビジョンの ID を指定でき、管理者が過去に保存して後で元に戻した昇格ロール設定(Editor など)がリビジョン経由で読み込まれた。
  • 「設定を最後に保存したのは管理者か」という確認がリビジョンの post_author を参照していた。リビジョンの post_author は編集した管理者になる一方、_edit_last メタはリビジョンにコピーされないため、この確認がリビジョンでは常に通ってしまう論理不備があった。
  • CSRF 対策の nonce は、未ログインでも呼べる wp_ajax_nopriv_eael_get_token エンドポイントで誰でも取得できたため、認証ゲートとしては機能していなかった。
  • これらが重なり、未認証の訪問者が編集者相当のロール(edit_others_posts、publish_pages、upload_files、unfiltered_html など)を持つアカウントを登録できる状態だった。

被害が起きる前提条件

  • サイトの「だれでもユーザー登録ができるようにする」(users_can_register)が有効になっている。
  • Essential Addons for Elementor 6.8.7 以前を使い、Login/Register ウィジェットを配置したページを公開している。
  • 管理者がそのページで「New User Role」を既定以外の高い権限(例: Editor)に保存し、その後元に戻した履歴があり、その値を含むリビジョンが残っている。

修正版での変更

  • Helper.php に eael_widget_settings_readable() が追加され、eael_get_widget_settings() の冒頭で必ず呼ばれるようになった。page_id がリビジョン(wp_is_post_revision)の場合は、そのページを編集できるユーザー以外には設定を返さない。正規のフォームは本体ページの ID を送るため、通常の登録には影響しない。
  • リビジョン以外でも、編集権限がない公開リクエストには、公開状態でパスワード保護のないページの設定だけを返すよう制限された。過去の昇格ロールや無効化された OTP / reCAPTCHA / Turnstile 設定、API キーなどの秘密情報がリビジョン経由で読み出されることを防ぐ。
  • 承認済みロールをウィジェットごとに記録する保護メタキー _eael_lr_role_state(LR_ROLE_STATE_KEY)が追加され、ロール決定の根拠を本体側の記録に寄せる仕組みが導入された。
  • 関連する強化として、Bootstrap.php で管理者以外による Custom JS メタ(_eael_custom_js と _elementor_page_settings 内の eael_custom_js)の直接書き込みをブロックするフィルタが追加された。また、パスワードリセット関連の一時メッセージを保存した option を一括削除するクリーンアップ処理も追加された。サイト運営者は 6.8.8 以降へ更新し、不要なユーザー登録設定を見直し、不審な編集者アカウントがないか確認することが推奨される。

主な修正ファイル: includes/Classes/Helper.php, includes/Classes/Bootstrap.php, includes/Classes/Migration.php, essential_adons_elementor.php

このプラグイン、自分のサイトにも入っている? URL を入れるだけの無料チェック →

原文(Wordfence Intelligence)

The Essential Addons for Elementor – Popular Elementor Templates & Widgets plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 6.8.7 via the `page_id` parameter of the `register_user()` function. The vulnerability exists because the handler’s post status deny-list rejects `future`, `draft`, and `pending` but admits `inherit` — the status carried by every WordPress revision — allowing an attacker to substitute a revision ID for a live page ID, while a flawed “last saved by administrator” check reads `post_author` on revisions (which reflects the editing administrator) rather than the `_edit_last` meta that is never copied to revisions, and the nonce gate is rendered ineffective because any unauthenticated visitor can freely obtain a valid nonce via the `wp_ajax_nopriv_eael_get_token` endpoint. This makes it possible for unauthenticated attackers to register an account with a role as high as Editor — gaining capabilities including `edit_others_posts`, `publish_pages`, `upload_files`, and `unfiltered_html` — by naming a revision whose `_elementor_data` contains an elevated role an administrator previously saved and later reverted on a page bearing the Login/Register widget. Successful exploitation requires that the site has “Anyone can register” enabled and that an administrator has at some point saved and then reverted a non-default “New User Role” on an affected page.

参考リンク

本ページの作成について: 上記の出典データをもとに、「何が起きるか」「今日やること」「更新後に確認すること」などの日本語解説は生成 AI が作成し、サイトの主治医が随時確認しています。誤りに気づかれた場合はお問い合わせください。

「Essential Addons for Elementor」の他の脆弱性

「Essential Addons for Elementor」の脆弱性一覧 →

最近公表された深刻度の高い脆弱性

脆弱性一覧 →

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次