
2026年10月19日の午後、わたしが管理している WordPress サイトのうち3つが、ほぼ同じ時間に表示できなくなりました。原因は、バックアッププラグイン UpdraftPlus の遠隔管理機能「UpdraftCentral」を通じて、見覚えのないプラグインが入れられていたことでした。
UpdraftPlus は400万以上のサイトで使われている定番のプラグインです。UpdraftCentral に一度でもサイトをつないだことがある方は、表示に問題がなくても一度確認しておくことをおすすめします。
このページでわかること:
- 実際に起きた症状と、気づいたきっかけ
- 原因(UpdraftCentral の鍵が悪用された)と、2段階認証が効かなかった理由
- 自分のサイトに不正プラグインが入っていないかの確認方法
- 見つかったときの対処手順
※ この記事の内容は2026年10月20日時点の情報です。開発元の TeamUpdraft からの公式説明は、まだ出ていません。
実際に起きたこと
サイトが Fatal error で表示されなくなった
最初に気づいたのは、サイトにアクセスすると次のようなエラーだけが表示される状態でした。
Fatal error: Uncaught Error: Undefined constant SiteBoard9c5::FIELD
in /home/xxxx/example.com/public_html/wp-content/plugins/site-board-9c5/site-board-9c5.php:44
site-board-9c5 というプラグインに見覚えはありません。管理画面のプラグイン一覧には、次のように表示されていました。
- 名前:Site Board 9C5
- 説明:Small maintenance toolkit: keeps option storage tidy.
- 作者:CopperForge WP
別のサイトでは asset-bridge-c35、さらに別のサイトでは render-gantry-afd と、名前だけ違う同じ作りのプラグインが入っていました。
操作履歴に「自分の名前」でインストール記録があった
操作履歴を記録するプラグイン(Simple History)を確認すると、「soyo がプラグインをインストール」「soyo がプラグインを有効化」と、わたし自身のアカウント名で記録されていました。もちろん、わたしは何もしていません。
わたしの管理者アカウントは2段階認証を設定しています。それでも自分の名前で操作されていたので、最初はアカウントを乗っ取られたのかと考えました。
アクセスログで分かったこと
サーバーのアクセスログを調べると、プラグインのインストール画面(wp-admin)へのアクセスは1件もありませんでした。代わりに、サイトが止まる十数秒前に、次のようなアクセスが届いていました。
43.250.53.42 "POST / HTTP/1.1" 200 "WordPress/6.4; class-udrpc.php"
class-udrpc.php は、UpdraftPlus が UpdraftCentral と通信するときの部品の名前です。つまり、管理画面にはログインせず、UpdraftCentral の遠隔操作でプラグインが入れられていたということです。
原因はUpdraftCentralの鍵の悪用
プラグインの脆弱性ではなく「鍵」の問題
UpdraftCentral は、複数の WordPress サイトを1つの画面からまとめて管理できる機能です。サイトをつなぐと、サイト側には接続用の鍵が保存され、UpdraftCentral のクラウド側には命令に署名するための鍵が保管されます。
今回の攻撃を最初に分析した Nethemba 社や、セキュリティ企業の Patchstack によると、攻撃者は本物の鍵で署名された命令を送っていました。そのため、UpdraftPlus 側のチェックはすべて通ってしまいます。鍵は UpdraftCentral のクラウド側から漏れた可能性が高いとされていますが、漏れた経緯はまだ分かっていません。
ポイントは次の3つです。
- UpdraftPlus を最新版にしても防げない(無料版・Premium 版とも、全バージョンが対象)
- サイトに UpdraftCentral の鍵が残っていれば対象になる
- UpdraftCentral の管理画面からサイトを削除しただけでは、サイト側の鍵は残る
なお、2026年6月に修正された UpdraftPlus の脆弱性(CVE-2026-10795)とは別の問題です。古いバージョンのままの方は、そちらの対策としても更新が必要です。
2段階認証が効かなかった理由
UpdraftCentral 経由の命令は、ログイン画面を通りません。鍵を作ったユーザーの権限でそのまま実行されます。そのため、
- パスワードを強くしていても、
- 2段階認証を設定していても、
- ログイン試行の制限をかけていても、
関係なく、プラグインのインストールまでできてしまいます。操作履歴に「自分の名前」が出たのも、鍵を作ったのがわたしのアカウントだったためです。
入っていた不正プラグインの中身
ダウンロードしてコードを読んでみたところ、中身は裏口(バックドア)でした。
- 合言葉つきの特別な URL にアクセスすると、隠しユーザーを作る
- そのユーザーに「編集者」の権限と、「サイト設定の変更」「プラグインのインストール」の権限を足す
- そのままログイン状態にして、管理画面へ入れる
管理者ではなく「編集者」で作るのは、ユーザー一覧を見たときに目立たないようにするためだと考えられます。
ただし、今回のプラグインにはコードの書き間違いがあり、合言葉を確かめる前の段階でエラーになっていました。わたしのサイトが落ちたのはこのためです。裏口のユーザーは作られていませんでした。
逆に言えば、このバグがなければ、サイトは普通に表示されたまま、裏口だけが開いていたことになります。サイトが正常に見えていても、確認は必要です。
自分のサイトに不正プラグインがないか確認する方法
1. UpdraftCentralの鍵が残っていないか
管理画面の「設定」→「UpdraftPlus バックアップ」→「高度なツール」→「UpdraftCentral」を開き、既存の鍵の一覧を確認します。鍵が1つでもあれば、攻撃の対象になり得ます。
UpdraftCentral を使った覚えがなくても確認してください。TeamUpdraft.com のアカウントをつないだだけで、鍵が作られていることがあります。
実際、わたしも UpdraftCentral を使っているつもりはほとんどありませんでした。Premium 版のライセンス確認で TeamUpdraft.com のアカウントにつなぐとき、「UpdraftCentral にも接続する」というチェックが最初から入っていて、そのときに鍵が作られていたようです。
注意したいのは、「プレミアム / 拡張機能」タブでアカウントの接続を切っても、鍵は消えないことです。鍵の削除は、必ず「高度なツール」→「UpdraftCentral」→「既存のキーを管理」から行ってください。
2. 見覚えのないプラグインがないか
プラグインの名前はサイトごとに違うので、名前ではなく次の特徴で探します。
- 説明文が「Small maintenance toolkit: keeps option storage tidy.」
- フォルダ名が「英単語-英単語-英数字3文字」の形(例:
site-board-9c5、asset-bridge-c35、render-gantry-afd) - 作者名に聞き覚えがない(CopperForge WP、CommonGantry など)
管理画面の一覧だけでなく、サーバーの wp-content/plugins/ と wp-content/mu-plugins/ も確認しておくと安心です。WordPress をサブフォルダに入れている場合は、プラグインのフォルダの場所が違うので注意してください。
3. 不審なユーザーがいないか
ユーザー一覧で、次のようなユーザーがいないか確認します。
- 表示名が「Site Tools」
- メールアドレスが
@example.org - 権限は「編集者」なのに、設定変更やプラグインのインストールができる
4. アクセスログに痕跡がないか
サーバーのアクセスログで class-udrpc.php を検索します。本物の UpdraftCentral の通信には、class-udrpc.php/2.1 のようにバージョン番号や URL が付きます。番号が付いていない class-udrpc.php" で終わるものは要注意です。
UpdraftPlus 自体の UpdraftCentral のログは直近50件しか残らないので、サーバーのアクセスログで見るのが確実です。
見つかったときの対処手順
手順1:UpdraftCentralの鍵をすべて削除する
最初にやるべきことです。「Updraftplus」→「高度なツール」→「UpdraftCentral」で、既存の鍵をすべて削除します。鍵を消しても、通常のバックアップ(Google Drive などへの保存)はそのまま動きます。
UpdraftCentral のクラウド画面からサイトを外したり、「プレミアム / 拡張機能」タブでアカウントの接続を切ったりするだけでは不十分です。必ずサイト側の鍵を消してください。Premium のライセンスをつなぎ直すときは、UpdraftCentral に接続するチェックを外してからにすると、鍵は作られません。
手順2:不正プラグインを止める
サイトが表示されない場合は、サーバーのファイルマネージャーや FTP で、プラグインのフォルダ名を変えます(例:site-board-9c5 → site-board-9c5_DISABLED)。これでプラグインが読み込まれなくなり、サイトが戻ります。
フォルダ名を変えたあと、管理画面に「ファイルが見つからない」という警告が出ることがあります。プラグイン一覧のページを一度開けば、WordPress が自動で無効化して警告は消えます。
手順3:不審なユーザーと設定を消す
「Site Tools」などの不審なユーザーがいれば削除します。データベースに 〇〇_sync_token という設定が残っている場合は、それも削除します。
手順4:不正プラグインのフォルダを削除する
中身を調べ終わったら、フォルダごと削除します。コードの書き間違いを直すと裏口が動き出すので、「エラーを直して使う」ことは絶対にしないでください。
手順5:パスワードを変えてセッションを切る
念のため、管理者のパスワードと UpdraftCentral(TeamUpdraft.com)のアカウントのパスワードを変更し、2段階認証を設定します。WordPress のプロフィール画面の「他のすべての場所でログアウト」も押しておきます。
手順6:裏口ユーザーが作られていた場合
不審なユーザーが見つかった、またはアクセスログに合言葉つきのアクセスがあった場合は、サイト全体が乗っ取られた前提で対応します。攻撃より前の日付のバックアップから戻し、ファイルを見比べて、ほかに仕込まれたものがないか確認します。
まとめ|遠隔管理機能は「つないでいるだけ」で入口になる
今回の件で一番感じたのは、使っていない遠隔管理の接続でも、つないだままなら入口になるということです。わたしのサイトも、UpdraftCentral に登録したまましばらく使っていない状態でした。
- UpdraftCentral の鍵は、サイト側で削除する
- 開発元から原因の説明があるまで、つなぎ直さない
- 表示が正常でも、プラグインとユーザーを一度確認する
- 操作履歴を残すプラグイン(Simple History など)と、サーバーのアクセスログは、原因を探すときの大きな手がかりになる
バックアップ機能そのものは、鍵を消したあとも問題なく使えています。UpdraftPlus を使っている方は、まず鍵の確認だけでも済ませておいてください。
参考情報(外部リンク)