注目

脆弱性 / VULNERABILITIES / WORDPRESS / REMOTE CODE EXECUTION

WordPressプラグイン「The Events Calendar」に未認証の脆弱性2件 — Wordfenceが発見、直近24時間に1,071件の攻撃を遮断、修正版は6.17.4.1

セキュリティ企業Wordfenceは2026年9月14日、WordPressプラグイン「The Events Calendar」に、ログインなしでサーバ上の任意のコードを実行される脆弱性2件(CVE-2026-78006、CVE-2026-78159、いずれもCVSS 9.8)を発見したと公表した。このプラグインは60万以上のサイトで使われている。攻撃はイベントページのコメント欄から成立し、攻撃者は自分の承認待ちコメントをプレビューするだけでよい。Wordfenceは直近24時間で1,071件の攻撃を遮断したとして、修正版6.17.4.1への更新を強く求めている。

攻撃手法
ソフトウェア

要点

  • WordPressのイベント管理プラグイン**「The Events Calendar」に、ログインなしでサーバ上の任意のコードを実行される脆弱性が2件見つかった。セキュリティ企業Wordfenceが2026年9月14日に公表した。このプラグインは60万以上のサイト**で使われているという。
  • 攻撃はイベントページのコメント欄から成立する。攻撃者は自分が投稿した承認待ちコメントをプレビューするだけでよく、管理者の承認も、被害者の操作も必要ない。
  • 1件目の攻撃(CVE-2026-78006)は、PHPオブジェクトインジェクションを悪用してサーバのOSコマンドを実行する。2件目の攻撃(CVE-2026-78159)は、任意のPHP関数を呼び出して管理者のパスワードを変更し、不正なプラグインをアップロードしてサイト全体を掌握する。
  • 開発元のStellarWPは2件とも修正し、完全な修正版は6.17.4.1。Wordfenceは直近24時間でこの脆弱性を狙う1,071件の攻撃を遮断したとして、6.17.4.1以降への更新を強く求めている。

何が見つかったのか

セキュリティ企業Wordfenceは2026年9月14日、WordPressのイベント管理プラグイン「The Events Calendar」に、独立した2つの脆弱性チェーンを発見したと公表した。発見は同社の脆弱性調査ツール「Wordfence Argus」と脅威インテリジェンスチームによるもので、2026年8月21日と8月22日に確認された。脆弱性情報は9月11日に公開され、9月14日に更新されている。

Wordfenceによれば、The Events Calendarは60万以上のウェブサイトで有効になっている

2件の脆弱性は次のとおりで、Wordfenceはいずれも**共通脆弱性評価システム(CVSS)3.1の基本値9.8(Critical)**と評価している(脆弱性データベースを運営するWPScanは、このうちCVE-2026-78006の基本値を8.1(High)としている)。

CVE 内容 影響するバージョン 修正版
CVE-2026-78006 未認証のPHPオブジェクトインジェクションによるリモートコード実行 6.17.4以下 6.17.4.1
CVE-2026-78159 ウィジェットの「classes」マップを悪用した未認証のコード実行 6.17.3以下 6.17.3.1

Wordfenceは「どちらのチェーンも、ログインもアカウント登録もソーシャルエンジニアリングも必要としない」と説明している。攻撃が成立する条件は、対象のイベントページでコメントが有効になっていること(プラグインの「Show comments on event pages」設定が有効になっていること)だという。

なぜ「コメント欄」から攻撃が成立するのか

Wordfenceの技術分析によれば、2件の脆弱性は同じ設計上の問題を土台にしている。プラグインが、利用者が投稿したコメントの本文を「WordPressのブロック(Gutenbergブロック)」として解釈してしまう点だ。

WordPress本体は、コメント本文をブロックとして処理しない。ブロックを処理するのは投稿の本文だけだ。ところがThe Events Calendarは、イベントページを描画するV2テンプレート(get_v1_single_event_html())で、ページ全体をバッファリングしてコメント欄まで含めたHTMLをWordPressのdo_blocks()に渡している。このため、匿名のコメント投稿者が書いた内容が、本来とは異なる経路でブロックとして解釈される。

さらに、WordPressのコメント用サニタイザー(KSES)はHTMLのコメント区切り文字を残す。ブロックの目印はこの区切り文字と同じ形式のため、悪意あるブロックの記述がサニタイズを通過してブロック解析処理に届いてしまう

通常、WordPressはコメントを投稿した利用者を、自分の承認待ちコメントを確認できるプレビュー用URL(モデレーション用ハッシュ付き)へ誘導する。攻撃者はこのURLを自分で開くだけでよく、管理者が承認する前に、仕込んだブロックがレンダリングされる。Wordfenceは「両方の攻撃チェーンは、未承認コメントのプレビューから発火する」と説明している。

加えて、プラグインのenable_rendering_widget_copied()は、攻撃者が指定したウィジェットのデータに対して正しいwp_hash()(改ざん検知用のハッシュ)を計算し直して差し替える。WordPress本体はこのハッシュを整合性の確認に使っているため、本体側の唯一の防御が無効化される。攻撃者はハッシュ欄に任意の値(例: deadbeef)を書いておけばよい。

攻撃の仕組み1:OSコマンドを実行される脆弱性(CVE-2026-78006)

1件目の攻撃は、プラグインのis_safe_widget_instance()という検証用の関数の欠陥を突く。この関数は、シリアライズされたデータをunserialize()で読み戻す際にallowed_classes => falseを指定し、戻り値にPHPのオブジェクトが含まれていないかどうかだけを確認する。

しかしWordfenceによれば、PHPはunserialize()が値を返す前の解析中に__unserialize()__wakeup()といったマジックメソッドを実行する。攻撃者は、正しいオブジェクトを埋め込んだうえで末尾に不正な型トークンを付けたデータを送ることで、検証関数には「安全」と判定させ、その後の本体側の本番のunserialize()で危険な処理を起動させられる。

実行の起点となるのはCollection_Trait.php__unserialize()で、そこからLazy_Post_Collection.phpcustom_unserialize()に処理が移る。この関数は検証なしにarray_map($unserialized['callback'], $unserialized['ids'])を実行する。Wordfenceは、callbacksystemidsidcat /etc/passwdのようなコマンドを指定すれば、ウェブサーバの利用者権限で任意のOSコマンドが実行されると説明している。

攻撃の仕組み2:管理者権限を奪われる脆弱性(CVE-2026-78159)

2件目は、シリアライズされたオブジェクトを使わない点が異なる。通常のPHP配列はオブジェクトを含まないため、前述の検証を正しく通過してしまう

攻撃者が用意した配列は、ウィジェットの引数としてarray_merge()でテンプレート側の変数に取り込まれ、テンプレートエンジンのextract()によってそのキーがそのままローカル変数になる。この仕組みを使い、プラグインのtec_classes()から呼ばれるElement_Classes::parse_array()に細工した「classes(CSSクラス名)のマップ」を渡す。

この関数は本来、動的なクラス生成のために「クロージャ」だけを想定している。しかし実際の判定は、PHPのis_callable()が真になる値すべてを受け付けてしまう。そのため、wp_update_userのようなWordPressの関数名を文字列として指定できてしまう。Wordfenceが示した例では、IDuser_passを真(true)にしたうえでzzwp_update_userを指定すると、is_callable()の判定を通過してwp_update_user($this->results)が呼び出され、ユーザーID 1(通常は管理者)のパスワードが「1」に変更される

Wordfenceは「この呼び出しはプロセス内で行われるため権限チェックが働かない」と説明している。攻撃者は変更後のパスワードで管理者としてログインし、悪意あるプラグインをアップロードしてサイト全体を掌握する

悪用の状況

Wordfenceは自社の脆弱性データベース上で、直近24時間にこの脆弱性を狙う1,071件の攻撃を遮断したとしている(当編集部が2026年9月15日に確認した時点の表示)。この脆弱性がWordfenceのデータベースで公開されたのは9月11日で、公開直後から試行が続いている状態だ。

悪用が成功した場合、Wordfenceはサイト全体の乗っ取り、機密データの窃取、マルウェアの配布、機密性・完全性・可用性のすべての喪失につながると指摘している。

修正状況とWordfenceの呼びかけ

開発元のStellarWPはWordfenceからの報告を受け、最初の脆弱性については2026年8月25日に、2件目についてもその後に修正版を公開した。Wordfenceは公表時点で6.17.4.1が完全な修正版だとしている。

Wordfenceが公表した対応の状況は次のとおり。

  • 利用者への呼びかけ: Wordfenceは「The Events Calendarを使っているWordPressサイトの管理者は、直ちに最新の修正版6.17.4.1以降へ更新することを強く推奨する」としている。
  • ファイアウォールによる防御: Wordfence Premium、Care、Responseの利用者は2026年8月22日に2件の脆弱性への攻撃を防ぐルールを受け取った。Wordfence無料版の利用者には、30日後の2026年9月21日に同じルールが提供される予定だとしている。
  • 注意点: 2件の脆弱性はいずれも、イベントページでコメントが有効になっているサイトが対象になる。攻撃にはログインも管理者の承認も不要で、攻撃者は自分の承認待ちコメントを表示するだけでよい。

Wordfenceは「修正版を使っているかを確認し、直ちに更新してほしい。もし知り合いにThe Events Calendarを使っている人がいれば、この情報を共有してほしい」と呼びかけている。

出典

この記事は、公開情報と編集部の調査・知見をもとに構成しています。内容は公開時点の情報に基づく解説であり、個別の環境への診断・対応を保証するものではありません。重要な判断では、記事内の出典や各提供元の最新情報もご確認ください。