WordPress にイベントカレンダーを置くプラグイン My Calendar の脆弱性(CVE-2026-104798)が、Wordfence から 10/16 未明に公開されました。ログインしていない第三者が、最初に作られた管理者アカウントのパスワードを書き換えて、管理画面を丸ごと取れるものです。有効インストールは 2 万で、修正版は公開の 2 日前、10/14 に出ています。
修正版に更新済みのサイトでは何も起きていない一方、修正前のバージョンのままのサイトは 10/16 から攻撃対象になっています。修正版は 3.8.8 のほかに 3.4 から 3.7 の各系統にも出ていて、WordPress.org が自動更新で配っている最中です。
https://www.wordfence.com/threat-intel/vulnerabilities/id/e8aa6ee7-525e-4458-9f5b-1e729afe448c

Wordfence の公開情報と、作者 Joe Dolson 氏の告知をもとに、やることだけ整理しました。
取るべき対応
- プラグイン一覧で My Calendar のバージョンを見る
- 3.8.8 なら対応済みで、10/14 に出た現行版です
- 3.7.18・3.6.18・3.5.22・3.4.25 も対応済みです。作者の告知によると、WordPress のプラグインチームが各系統向けに出した、この修正だけを入れたバージョンです
- それ以外のバージョンなら上げる
- 自動更新を止めていないサイトには、WordPress.org から各系統の修正版が配られます。止めているサイトは、更新画面に出ているバージョンに上げる
- 3.3 以下には系統向けの修正版が無く、上げる先は 3.8.8 です
- 上げたあとは、見覚えのないユーザーとファイルが無いかを見る
- 作者の Joe Dolson 氏は、悪用の証拠も報告も受けていないとしたうえで、この確認を強く勧めています
Wordfence も作者も回避策を示していません。
対象者
対象は 3.8.7 以下を入れているサイトで、Wordfence が挙げる条件はバージョンだけです。ログインも、特定の設定も要りません。プラグインを有効化すると /my-calendar/ というページが自動で作られて公開されるので、カレンダーをどこに置いたかに関係なく、外からそこに届きます。
一方で作者は、主な入口は 3.4 より前のバージョンには無いと書いています。それでも Wordfence の対象範囲は 3.8.7 以下のすべてで、3.3 以下のサイトも対象に入り、上げる先は 3.8.8 です。
| バージョン | この脆弱性 | 上げる先(10/14 配信) |
|---|---|---|
| 3.8.8 / 3.7.18 / 3.6.18 / 3.5.22 / 3.4.25 | 対象外(修正済み) | |
| 3.8.0〜3.8.7 | 対象 | 3.8.8 |
| 3.7.0〜3.7.17 | 対象 | 3.7.18 |
| 3.6.0〜3.6.17 | 対象 | 3.6.18 |
| 3.5.0〜3.5.21 | 対象 | 3.5.22 |
| 3.4.0〜3.4.24 | 対象 | 3.4.25 |
| 3.3 以下 | 対象 | 3.8.8 |
起こったこと
ログインしていない第三者が、公開されているカレンダーのページに細工した URL でアクセスするだけで、プラグインの中から任意の PHP の関数を呼べる状態でした(CVSS 9.8)。Wordfence が示す連鎖では、その呼び出しが WordPress のユーザー情報を書き換える処理に届き、最初に作られた管理者(ユーザー ID 1)のログイン情報が上書きされます。あとは書き換えたパスワードでログインするだけで、管理画面の操作はすべて第三者のものです。
原因
Wordfence によると、公開ページの URL に付く mcs というパラメーターの値が、WordPress 本体がショートコードを処理するより前に、そのまま投稿本文へ入っていました。これで第三者が My Calendar のショートコードを本文に差し込めます。そのショートコードの above という属性に書いた名前を、プラグインは PHP の関数名としてそのまま呼び出していて、呼んでよい関数の一覧も、呼ぶ人の確認もありませんでした。3.8.8 の変更履歴には、ログインなしでの権限昇格を修正した、とだけ書かれています。



