WordPressの人気プラグイン「All-in-One WP Migration」に、深刻な脆弱性が見つかりました。バックアップを書き出して元に戻す操作が、サイト乗っ取りの引き金になるというものです。この記事では、自分のサイトが該当するかどうかの確かめ方と、更新のあとに見ておきたい箇所をまとめます。
まず、プラグインのバージョンを確認してください
WordPressの管理画面を開いて、左のメニューから「プラグイン」を選びます。
一覧に「All-in-One WP Migration and Backup」があれば、バージョン番号を見てください。7.109以下であれば、今回の対象になります。
修正されたのは7.110です。「更新」と表示されていれば、そのまま押してください。
一覧にこのプラグインが見当たらなければ、今回の話は該当しません。
書き出して元に戻す操作が、引き金になります
このプラグインは、サイトを丸ごと書き出して、別の場所で元に戻すためのものです。サーバーの引っ越しや、バックアップの保存に使います。
今回見つかったのは、その「書き出して戻す」操作を悪用するものでした。
攻撃者は、まずサイトのコメント欄に細工した値を送り込みます。ログインは必要ありません。この時点では、まだ何も起きません。
火が着くのは、そのあとでサイトを書き出し、そのデータを元に戻したときです。

危ないのは、細工が入ったあとに取ったバックアップです
ここが分かりにくいところなので、順に説明します。
細工が送り込まれる前に取ったバックアップには、その値が入っていません。この攻撃に限れば、古い控えを戻すだけで問題が起きることはありません。
注意が必要なのは、7.109以下のまま、細工された値が入ったあとに取るバックアップです。そのデータをAll-in-One WP Migration 7.109以下で戻すと、細工が動き出します。
先に7.110へ更新しておけば、この戻すときの処理は修正されます。順番として、更新が先になります。
今後の更新方法も決めてください
今回の7.110への更新は、自動更新を待たずに実施してください。そのうえで、今後の更新をどう行うかを決めておきます。
自動更新には、修正版を早く適用できるという利点があります。一方で、ほかのプラグインや機能との相性に問題があった場合も、そのまま本番に反映されます。
WordPress 6.6以降には、プラグインの自動更新を守る仕組みがあります。更新後にPHPの致命的エラーを検出すると、前のバージョンへ戻します。ただし、表示の崩れや一部の機能の不調まで、すべてを検出できるわけではありません。
定期的に見る担当者がいないサイトでは、戻せるバックアップと通知先を整えたうえで、自動更新を使う方法があります。保守の担当者がいる場合は、確認してから更新し、更新後に表示や機能を点検する運用でも構いません。
なお、制作時の設定やサーバーの状態によっては、自動更新が働かないことがあります。更新の操作が禁止されている場合でも、通知まで必ず止まるとは限りません。
更新のあとに、もうひとつ見ておきたいところ
更新を済ませても、すでに送り込まれた値がコメント欄から自動で消えるわけではありません。ただし、7.110では戻すときの処理が修正されているため、保存済みの値を使ったこの攻撃も防げます。
コメント欄の確認は、攻撃の仕込みがなかったかを見るための追加の作業です。管理画面の「コメント」を開いて、身に覚えのないトラックバックやピンバックが残っていないかを見てください。
見た目だけで安全かどうかを判断することはできません。気になるものがあれば、削除や復元を行う前に、保守の担当者へ相談してください。
今後の受け付けを止めることもできます。「設定」から「ディスカッション」を開き、ピンバックとトラックバックの受け付けを外してください。
ただし、この設定が効くのは、これから作る投稿だけです。すでに公開している投稿については、投稿一覧の一括編集で閉じる必要があります。
サイトを人に任せている場合は、3つを聞いてください
制作や保守を外部に依頼している場合は、担当の方に連絡するのが早道です。
伝える内容は3つで足ります。All-in-One WP Migrationを使っているかどうかと、使っているならバージョンはいくつか。それから、更新を止める設定が入っていないかどうかです。
保守契約を結んでいれば、すでに対応が済んでいることもあります。契約がない場合でも、確認だけを依頼しておくと安心できます。
まとめ
今回の脆弱性について、押さえておきたいのは3点です。
All-in-One WP Migrationを使っているなら、まず7.110以上に更新してください。そのうえで、身に覚えのないトラックバックがコメント欄に残っていないかを確認してください。そして、自動更新を利用するのか担当者が速やかに更新するのか、今後の方法を決めておいてください。
自分で確認するのが難しい場合は、ご相談ください。WordPressの保守と記事制作をまとめたプランは、月額50,000円からご用意しています。不具合の調査・復旧は50,000円から、サーバーの移転代行は50,000円からです。
この脆弱性の技術的な詳細は、テクノロジーメディア『innovaTopia』に書いた記事にまとめています。プラグインの内部で何が起きていたのかに関心のある方は、あわせてご覧ください。

コメント