UpdraftPlusの開発元に不正アクセス、盗まれた「合鍵」でサイトに裏口が。初心者向けに、自分のサイトの確かめ方をていねいに解説

UpdraftPlusの開発元への不正アクセスと、盗まれた接続キーの確認方法を初心者向けに解説するアイキャッチ WordPress
この記事は約13分で読めます。

10月20日、レンタルサーバーのXserverから、こんなお知らせが出ました。「WordPressプラグイン『Updraftplus』の運営元への不正アクセスによる『UpdraftCentral』の接続キー(秘密鍵情報)流出に関する注意喚起について」。翌21日には、ロリポップ!からも同じ趣旨のお知らせが出ています。

WordPressでサイトを作っている方なら、UpdraftPlusという名前を見たことがあるかもしれません。バックアップを取るためのプラグインとして、とても広く使われているものです。お知らせを読んで、「自分のサイトは大丈夫だろうか」「そもそも何のことか分からない」と感じた方に向けて、この記事を書きました。専門用語は、出てくるたびにできるだけ言いかえて説明します。

先に結論から

難しい話の前に、結論だけ先に書いておきます。

  • UpdraftPlusを使っていないサイトは、今回の件とは関係ありません。
  • 使っている場合は、次の3つを確かめます。
    1. UpdraftPlusを1.26.13以上(有料のPremium版は2.26.13以上)に更新する
    2. 「UpdraftCentral」の接続キーが残っていないか確かめ、残っていれば削除する
    3. 見覚えのないユーザーやプラグインが増えていないか確かめる
  • 「UpdraftCentralなんて使ったことがない」という方も、2つめの確認はしておくのが安全です。知らないうちに鍵が作られていることがあるからです。

ここからは、なぜこの3つなのかを、順番に説明していきます。

そもそも何が起きたのか

UpdraftPlusと、UpdraftCentral

UpdraftPlusは、WordPressのサイトのバックアップ(記事や画像、設定などの控え)を取って、いざというときに元に戻せるようにするプラグインです。作っているのは、TeamUpdraftという会社です。
そのUpdraftPlusには、「UpdraftCentral」という機能があります。たくさんのWordPressサイトを、1つの管理画面からまとめて操作するための仕組みです。たとえば、お客さんのサイトを何十件も管理している制作会社なら、ひとつずつログインしなくても、まとめてバックアップを取ったり、プラグインを更新したりできます。とても便利な機能です。

このまとめて操作する仕組みを支えているのが、「接続キー」と呼ばれる鍵です。サイトは、この鍵で署名された命令だけを「正しい持ち主からの命令だ」と信じて、言われたとおりに動きます。

合鍵が、まとめて盗まれた

たとえ話にすると、分かりやすいと思います。
UpdraftCentralを使うと、あなたの家(サイト)の合鍵を、管理会社(開発元)の金庫に預けておくような形になります。管理会社は、その合鍵を使って、あなたの代わりに家の掃除や点検をしてくれます。
今回は、その管理会社の金庫が破られて、預けてあった合鍵がまとめて盗まれた、というできごとです。泥棒は盗んだ合鍵で、何軒もの家の玄関を開けて入りました。

合鍵のたとえで見る今回の事件。開発元の金庫にあった各サイトの合鍵が盗まれ、その合鍵でサイトに入られた
便利さと引き換えに、合鍵を預けていた、ということなんだと思います。
盗まれた鍵で署名された命令をサイトが本物と信じ、偽のプラグインが入れられ、隠れた管理者が作られる流れの図
サイトの側からは、本物の命令と見分けがつかなかったのが厄介なところです。

大事なのは、UpdraftPlusというプラグインの作りに穴があったわけではない、という点です。プラグインはいつもどおり、正しい鍵の命令に従っただけでした。破られたのは、プラグインではなく、開発元の会社のほうです。こういう「作り手の側が狙われる」攻撃は、サプライチェーン攻撃と呼ばれます。

いつ、何が起きたのか

発表や報道をもとに、日本時間で並べると、次のようになります。

  • 10月17〜18日の週末:TeamUpdraftのサイトに不正アクセス
  • 10月19日 0時半ごろ:盗まれた鍵を使って、サイトに偽のプラグインを入れる攻撃が始まる
  • 10月19日 夕方:攻撃はここまでの約18時間に集中していた(Patchstackの観測)
  • 10月19日 夜:TeamUpdraftが事件を発表し、修正版(1.26.13)を公開
  • 10月20日:Xserverが注意喚起。21日にロリポップ!も注意喚起

TeamUpdraftの発表によると、盗まれた可能性があるのは、UpdraftCentralなどの接続キーのほか、利用者の名前、メールアドレス、請求先の住所、注文の履歴、暗号化された形のパスワード、二段階認証の設定などです。クレジットカードの情報は、決済サービス(StripeやPayPal)の側で扱っているので含まれない、としています。
また、UpdraftPlusのプラグインそのものや、あなたが保存しているバックアップのファイルは、影響を受けていないとしています。

入られたサイトで、何をされたのか

最初に被害に気づいたのは、Nethembaというセキュリティ会社です。自社のサイトが狙われ、その中身を詳しく公開しています。それとPatchstackの分析をあわせると、攻撃者がしたことは次のとおりです。

  • 盗んだ鍵で「このプラグインを入れなさい」という命令を送り、偽のプラグインを入れて有効化した
  • 偽のプラグインは、「Site Health Cache」のような、いかにもWordPressの保守ツールらしい名前をしていた(名前は少なくとも99種類)
  • その偽のプラグインに合図を送ると、管理者としてログインできたり、見えにくい管理者アカウントが作られたりする仕組みになっていた

この「あとから自由に出入りできるようにしておく仕掛け」を、バックドア(裏口)と呼びます。
やっかいなのは、この裏口を使うと、ふつうのログイン画面を通らずに入れてしまうことです。そのため、二段階認証を設定していても、ログインの試行回数を制限していても、防げません。しかも、偽のプラグインを消しても、作られたアカウントは残ります。

ちなみに、最初に使われた偽のプラグインは、作りにミスがあって、ほとんど動いていなかったそうです。ただ、その後に動く版が出回っています。セキュリティ会社は「壊れているからといって、直したりしないで、そのまま消してください」と注意しています。直すと、本当に裏口として動き出してしまうからです。

自分のサイトは関係ある? 3つの質問で確かめる

ここからが本題です。次の図の順番で、上から確かめていきましょう。

確認の流れ。UpdraftPlusを使っているか、1.26.13以上か、UpdraftCentralの鍵が残っていないか、見覚えのないユーザーやプラグインがないかを順に確かめる
上から順に、ひとつずつで大丈夫です。

質問1:UpdraftPlusを使っていますか?

WordPressの管理画面の左のメニューから「プラグイン」を開き、一覧に「UpdraftPlus」があるか探します。
一覧になければ、今回の件とは関係ありません。お疲れさまでした。私自身も、いまはUpdraftPlusを使っていないので、ここで終わりです。
一覧にあれば、次へ進みます。

質問2:バージョンは1.26.13以上ですか?

同じプラグインの一覧で、UpdraftPlusの欄に「バージョン 1.26.〇〇」と書かれています。
1.26.13より小さい数字なら、まず更新してください。有料のPremium版を使っている場合は、2.26.13以上が目安です。

  • 1.26.13は、日本時間で10月19日の朝6時より前に作られた古い接続を、自動で切ってくれる修正版です。
  • その前の1.26.12も、古い鍵を消すつもりで出されましたが、不具合でうまく消えていませんでした。1.26.12で止まっている方も、1.26.13以上に上げてください。

余談ですが、UpdraftPlusでは、2026年6月にも別の弱点(CVE-2026-10795)が直されています。今回と同じ遠隔操作の通り道に関わるもので、それを狙う攻撃もいまだに続いているそうです。しばらく更新していなかった方は、今回の件とは別の意味でも、更新しておく理由があります。

質問3:UpdraftCentralの接続キーが残っていませんか?

ここが、いちばん大事な確認です。
管理画面で、次の順に開きます。

  1. 左のメニューの「UpdraftPlus」を開く(環境によっては「設定」の中の「UpdraftPlus Backups」にあります)
  2. 上のタブから「高度なツール」を選ぶ
  3. 左側の項目から「UpdraftCentral」を選ぶ

キーが残っていると、次のように「キーの説明」と「詳細」の表が出ます。「公開キーをこちらに送信しました: https://teamupdraft.com」と書かれているのが、開発元のサービスとつながっていたキーです。

UpdraftPlusの「高度なツール」→「UpdraftCentral」の画面。キーの説明にteamupdraft.com、詳細に公開キーの送信先と作成日時、削除のリンクが表示されている
撮影のためにわざとキーを作り、撮ったあとすぐ消しています。

キーが1つでも表示されたら、それぞれの下にある「削除…」をクリックして、すべて消します。キーが2つ以上あるときは、「既存のキーを管理 (2)…」のように、数がついたリンクから一覧を開けます。
すべて消えると、次のように「現在、このサイトをコントロールできる UpdraftCentral ダッシュボードはありません。」という一文が出ます。この一文が出ていれば、キーは残っていません。

UpdraftCentralのキーがすべて削除された状態の画面。「現在、このサイトをコントロールできる UpdraftCentral ダッシュボードはありません。」と表示されている
この一文が、いちばん分かりやすい「大丈夫」の目印です。

この画面にある「TeamUpdraft.com」のボタンは、押さないでください。押すと新しいキーが作られ、開発元のサービスとつながります。事件の原因がはっきりするまでは、つなぎ直さないほうが安全です。

  • 「UpdraftCentralを使ったことがない」という方も、ここは見てください。初期状態でチェックの入った項目から、知らないうちにキーが作られていることがある、とPatchstackが指摘しています。
  • 1.26.13に更新していても、見ておくのが確実です。日本時間で10月18日の夜9時ごろから19日の朝6時までに作られたキーは自動では消えない、という指摘があるからです(開発元の説明と食い違っています)。
  • UpdraftCentralの管理画面の側で「サイトの接続を外す」だけでは足りません。キーは、あなたのサイトの側に残り続けます。

「消してしまって、困ることはないの?」と思うかもしれません。UpdraftCentralでまとめて管理していないなら、消しても、ふだんのバックアップには影響しません。UpdraftCentralを使っている方も、セキュリティ会社は「開発元から原因の説明があるまでは、つなぎ直さないほうがいい」と勧めています。

質問4(念のため):見覚えのないユーザーやプラグインはありませんか?

キーが残っていた方は、すでに入られている可能性も考えて、もう少しだけ確かめます。

  • ユーザー:管理画面の「ユーザー」を開き、自分で作った覚えのない人がいないか見ます。今回の攻撃で作られたユーザーには、次のような特徴がありました。
    • 名前が「data-ops43」「media-staff96」のような、英単語と数字の組み合わせ
    • メールアドレスが「@example.org」や「@example.com」で終わる
    • 表示名が「Site Tools」
    • 役割(権限)が「管理者」ではなく「編集者」になっている。見た目は編集者でも、実際には設定の変更やプラグインのインストールができるように細工されている
  • プラグイン:プラグインの一覧に、入れた覚えのないものがないか見ます。「Site Health Cache」「Speed Kit」「Asset Forge」のような、それらしい名前のものは要注意です。説明文が「Small maintenance toolkit: keeps option storage tidy.」になっているものは、今回のバックドアです。

ただし、プラグインの中には、管理画面の一覧から自分を隠す版もありました。一覧に何もなかったからといって、絶対に安心とまでは言えません。キーが残っていて、少しでも不安があるなら、次の章を読んでください。

もし怪しいものが見つかったら

見覚えのないユーザーやプラグインが見つかったら、慌てて消したくなると思います。でも、少しだけ待ってください。

  • 偽のプラグインは、管理画面から「削除」しない。削除の操作をきっかけに、痕跡を消すような仕掛けが入っていることがあるためです。
  • 見つけたものの名前、日時、画面の様子を、スクリーンショットなどで記録しておく
  • サーバー会社のサポートや、WordPressの復旧を請け負う専門家に相談する

専門家に頼む場合は、次のような対応になるのが一般的です。

  • UpdraftCentralのキーを消す
  • 偽のプラグインを止めて、外から見えない場所に移す
  • 作られたアカウントを消す
  • 入られた疑いが強ければ、10月17日より前のバックアップからサイトを戻す
  • 管理者のパスワードを変え、ログイン中の状態をすべて切り、二段階認証を設定し直す
  • TeamUpdraftのアカウントを持っていれば、そのパスワードも変える

ひとつ、Xserverを使っている方向けの話もしておきます。Xserverの環境で「ファイルのアクセス権が000になっていた」「UpdraftPlusが『プラグインファイルが存在しません』と出て止まっていた」という報告が出ています。誰がそうしたのかは、まだはっきりしていません。Xserverは以前から、サーバーの中で見つけた不正なファイルを、アクセス権を000にして動かなくする対応をとってきたので、それに当たる可能性はあります。ただ、今回もそうなのかは確認できていません。
もしそういう状態を見つけたら、自分で元に戻す前に、ファイル名と日時を控えて、Xserverのサポートに問い合わせるのが安心です。

WP-CLIが使える方へ(少しだけ上級者向け)

サーバーにSSHでログインして、WP-CLI(WordPressをコマンドで操作する道具)が使える方は、管理画面を開くよりも早く確かめられます。ここは読み飛ばしてもらっても大丈夫です。

--skip-plugins --skip-themes をつけているのは、バックドアがWP-CLIの動きを邪魔することがあるためです。プラグインやテーマを読み込まずに実行すれば、その影響を受けません。
3つめのコマンドは、名前ではなく権限で探しています。攻撃者は名前を毎回変えていますが、Patchstackが調べたサンプルでは「編集者なのに設定を変えられる」という細工が共通していたからです。なお、別の版では、ふつうの管理者アカウントが作られた例もあるので、ユーザー一覧で見覚えのない管理者がいないかもあわせて見てください。

この事件から、覚えておきたいこと

今回の件で印象に残ったのは、サイトの持ち主が何もミスをしていなくても、被害にあいうる、ということです。UpdraftPlusをきちんと最新にしていたサイトも、狙われていました。
遠隔でまとめて管理できる仕組みは、とても便利です。でもそれは、どこかに「あなたのサイトに入れる合鍵」が置かれている、ということでもあります。その合鍵がどこにあって、誰が守っているのか。ふだんはあまり考えないことですが、今回のような事件が起きると、そこが急に大事になります。

  • 使っていない遠隔管理の機能は、オフにしておく
  • 使っていないプラグインは、止めるだけでなく削除する
  • プラグインは、こまめに更新する
  • バックアップは、サイトの外(別のサービスやパソコン)にも置いておく

どれも地味なことですが、今回のような事件のときに、被害を小さくしてくれます。

あなたのサイトの合鍵は、いま、どこに何本ありますか。

参考にした情報

Rapls Works のその他の記事

WordPress
この記事を書いた人
rapls

WordPress のプラグインを作っているフリーランスエンジニア、Rapls です。Web 開発は6年以上。WordPress.org でプラグインを7本公開・保守しながら、日本語ロケールの翻訳エディター(PTE)も務めています。このブログには、現場で実際にハマって、調べて、直した話を書いています。

raplsをフォローする
raplsをフォローする

コメント

タイトルとURLをコピーしました