バックアッププラグイン「UpdraftPlus」の開発元TeamUpdraftが、10月17日から18日(現地時間)にかけて、自社サイトに不正アクセスを受けたと発表しました。見られたおそれがあるのは顧客のデータベースで、その中には遠隔管理の仕組み「UpdraftCentral」の接続キーも入っていました。
この盗まれたキーを使って、ほかの人のWordPressサイトにバックドア(隠れた入り口)入りのプラグインを入れる攻撃が、すでに報告されています。
UpdraftPlusは300万以上のサイトで使われています。無料版を入れているだけのサイトと、UpdraftCentralにつないでいたサイトでは、やることがまったく違います。公式の案内と、テストサイトで修正版を試した結果をまとめました。
何が起きたのか
TeamUpdraftの発表によると、見られたおそれがあるのは次の情報です。
| 見られたおそれがあるもの | 影響はないとされているもの |
| 名前、メールアドレス、住所、注文の履歴 | UpdraftPlusのプラグイン本体と、配布しているファイル |
| アカウントのパスワード(そのままではなく、元に戻せない形に変換したもの)と、2段階認証の設定 | Google DriveやDropbox、Amazon S3など、自分で用意した保存先にあるバックアップ |
| UpdraftCentral、UpdraftVault、UpdraftCloneの接続キー | カード情報(StripeとPayPalで決済しており、保存していない) |
参考:TeamUpdraft security incident: What customers need to know(TeamUpdraft)
盗まれたキーで何ができたのか
UpdraftCentralは、たくさんのサイトのバックアップや更新を、1つの画面からまとめて操作する仕組みです。サイトの側には接続キーが保存されていて、そのキーで正しく署名された命令が届くと、サイトは本物の命令として受け付けます。
攻撃者は盗んだキーを使って、つながっていたサイトに「プラグインを入れる」命令を送りました。調査したセキュリティ会社のNethembaによると、命令は10月18日の夜から21日まで続いています。Patchstackは、入れられたプラグインの名前を99種類確認したとしています。
入れられたプラグインの中には、ログインなしで管理者になれる入り口を作るものや、「編集者」なのに設定の変更やプラグインの追加ができるユーザーを作るものがありました。プラグインを消しても、作られたユーザーは残ります。
参考:Critical security problem in UpdraftCentral(Nethemba)
自分のサイトが当てはまるか確かめる
| 使い方 | 公式の案内 |
| 無料版を入れているだけで、teamupdraft.comのアカウントを持っていない | 個別の対応は不要。UpdraftPlusを最新版にしておく |
| UpdraftCentral(teamupdraft.comのダッシュボード)にサイトをつないでいた | 今日のうちに、下の「UpdraftCentralにつないでいたサイトでやること」を行う |
| 有料版(Premium)を使っている | UpdraftCentralを使ったことがなくても、サイトを確かめる |
| UpdraftVaultやUpdraftCloneを使っている | つなぎ直しや、新しいキーへの切り替えが必要 |
UpdraftCentralは自分のサーバーに入れて使うこともできます。公式は、自分で入れたUpdraftCentralは今回の対象外としています。
接続キーがあるかを画面で確かめる
つないだ覚えがなくても、キーが残っていないかは画面で確かめられます。管理画面の「UpdraftPlus」を開き、「高度なツール」タブの「UpdraftCentral」(①)を選びます。「既存のキーを管理」を押すと、サイトに保存されているキーの一覧(②)が出ます。

キーの「詳細」に「公開キーをこちらに送信しました: https://teamupdraft.com」とあるものが、今回の対象のUpdraftCentral(teamupdraft.com)のキーです。上の画面はテストサイトで、2つ目の「cloud-test」がそれにあたります。一覧に何も出なければ、UpdraftCentralにはつながっていません。
WP-CLIが使えるサーバーなら、キーの名前と送り先だけを出すこともできます。
wp eval 'foreach ((array) get_option("updraft_central_localkeys") as $k) echo $k["name"], " / ", $k["extra_info"]["mothership"], "\n";'
送り先が「__updraftpluscom」と出たものが、teamupdraft.comのキーです。「wp option get updraft_central_localkeys」でも確かめられますが、キーそのもの(秘密鍵)まで表示されるので、画面を人に見せるときは気をつけます。
修正版1.26.13に更新すると、古いキーは消える
TeamUpdraftは10月19日(現地時間)に、修正版の1.26.12を出し、続けて1.26.13を出しました(有料版は2.26.13)。事件より前に作られたUpdraftCentral(teamupdraft.com)のキーを、更新したときに自動で消す修正です。WordPress.orgからも、すべての利用者に更新が配られています。
テストサイトで試しました。1.26.11を入れた状態で、自分で入れたUpdraftCentral向けのキーと、teamupdraft.com向けのキー(事件より前の日付で作った見本)を1つずつ用意し、1.26.13に更新します。

更新したあとは、teamupdraft.com向けのキーだけが消え、自分で入れたUpdraftCentral向けのキーは残りました。
ただし、更新で消えるのはキーだけです。キーが消える前に入れられたプラグインや、作られたユーザーはそのまま残ります。つないでいたサイトは、更新したうえで次の確認をします。
UpdraftCentralにつないでいたサイトでやること
公式が案内している手順です。管理しているサイトが複数あるときは、ふだん触っていないサイトも含めて、1つずつ行います。
- UpdraftCentralを通さず、それぞれのサイトの管理画面に直接ログインする
- UpdraftPlusを1.26.13以降(有料版は2.26.13以降)に更新する
- 「高度なツール」→「UpdraftCentral」で、接続キーを削除する
- 「ユーザー」で、見覚えのない管理者を削除する
- 「プラグイン」で、見覚えのないプラグインを削除する。「Must-Use」の欄があれば、そこも見る
- 管理者全員のパスワードを変える
- 怪しいものが見つかったら、10月17日より前のバックアップに戻すことを考える
- UpdraftCentralにつなぎ直す
8のつなぎ直しは、急がなくても構いません。Patchstackは、TeamUpdraftが原因を詳しく説明するまで待つよう勧めています。
見つかっている痕跡
NethembaとPatchstackが公開している痕跡のうち、管理画面やファイルで確かめやすいものです。
| 確かめる場所 | 痕跡 |
| プラグイン | 説明文が「Small maintenance toolkit: keeps option storage tidy.」のもの。名前は「Site Health Cache」や「load-stack-35c」のように毎回違う。作者名は PixelBinder、Harbor Stack Labs、WPBridge など |
| ユーザー | 「編集者」なのに設定の変更やプラグインの追加ができるユーザー(data-ops43、media-staff96 など。表示名は「Site Tools」、メールアドレスは @example.org)。見覚えのない管理者(system_team850、web.tech988 など) |
| データベース | wp_options の中の、_sync_token で終わる名前の項目 |
| アクセスログ | 「/?_9f5696=」のように、URLの後ろに英数字の名前と32文字の値が付いたアクセス |
見つけたプラグインは、先にUpdraftCentralのキーを消してから取り除きます。キーが残っていると、また入れ直されるおそれがあるためです。Patchstackは、入れられたプラグインのエラーを直そうとしないよう呼びかけています。エラーを直すと、バックドアが動き出すためです。
見覚えのないユーザーが作られていたり、アクセスログに上のようなアクセスがあったりした場合は、サイトが乗っ取られたものとして扱います。10月17日より前のバックアップに戻し、管理者のパスワードを変え、ログイン中のセッションをすべて終わらせます。
WP-CLIが使えるサーバーなら、次のコマンドで確かめられます。上から、プラグインの一覧、Must-Useのプラグインの一覧、管理者ではないのに設定の変更やプラグインの追加ができるユーザー、説明文が一致するプラグインのファイルです。
wp plugin list
wp plugin list --status=must-use
wp eval 'foreach (get_users() as $u) { if (!in_array("administrator", $u->roles) && ($u->has_cap("manage_options") || $u->has_cap("install_plugins"))) echo $u->user_login, "\n"; }'
grep -rl "Small maintenance toolkit" wp-content/plugins wp-content/mu-plugins
テストサイトで実行したところ、3つ目と4つ目は何も出ませんでした。何も出なければ、その痕跡はないということです。
参考:UpdraftPlus Backdoor Attack: What Happened and How to Protect Your Sites(WP Umbrella)
teamupdraft.comのアカウントを持っている人がやること
UpdraftCentralを使っていなくても、有料版の購入などでアカウントを作った人は、次のことを行います。
- teamupdraft.comのパスワードを変える。メールのリンクからではなく、アドレスを直接入力して開く
- 同じパスワードをほかで使っていたら、そちらも変える
- 2段階認証を使っていたら、「My Account」で設定し直す
- TeamUpdraftを名乗るメールに気をつける。公式は、パスワードやキーをメールで聞くことはないとしている
UpdraftVaultを使っている場合は、つなぎ直しが必要です。UpdraftPlusの「設定」タブで、保存先の「UpdraftVault」を選び、「Already got space?」から接続します。teamupdraft.comのメールアドレスと新しいパスワードを入れ、設定を保存したら、手動でバックアップを取って動くか確かめます。
UpdraftCloneのキーをお客様などに渡していた場合は、「My Account」の「UpdraftClone Key Management」から新しいキーを渡し直します。古いキーはもう使えません。
まとめ
無料版を入れているだけなら、UpdraftPlusが1.26.13以降になっているかを見るだけで済みます。
UpdraftCentralにつないでいたなら、更新だけでは足りません。キーを消し、見覚えのないユーザーとプラグインがないかを確かめるところまでが、今日の作業です。
先週のRank Math PROに続き、今回も困ったときに頼れるのは、問題が起きる前のバックアップです。10月17日より前のバックアップが残っているか、一度確かめておきます。UpdraftPlusでのバックアップの取り方と戻し方は、こちらの記事で紹介しています。
2026年10月、UpdraftPlusの開発元が不正アクセスを受け、遠隔管理の仕組み「UpdraftCentral」の接続キーが漏れました。無料版を入れているだけなら、UpdraftPlusが1.26.13以降になっているかを確かめれば大丈夫です。UpdraftCentralにつないでいた方は、こ...
乗っ取られたときの症状や、ほかの対処法はこちらの記事で紹介しています。
WordPressサイトの乗っ取りは、いつ起こるかわからない脅威です。知らないうちに改ざんされ、ユーザーに不利益を与えているかもしれません。WordPressは世界中で広く利用されているCMSですが、その人気ゆえに悪意のある攻撃者から狙われやすい側面があります。 サイトが乗っ取られてしまうと、...
WordPressテーマ集











コメント