WordPressを運営しているなら、今日やることはシンプルだ。
管理画面を開いて、コアが最新か確認する。
WordPressは9月22日、セキュリティリリースの7.1.2を公開した。公式は今回の修正を「critical severity」としており、即時アップデートを推奨している。
しかも直前には、別の脆弱性「Click2Shell」の詳細とPoCが公開されたばかりだ。
WordPressは「あとで更新」で済ませにくい週に入っている。
7.1.2で直った問題
WordPress公式によると、今回修正されたのはページテンプレート解決に関する問題だ。
特定条件下で、認証していない攻撃者がアクティブテーマの外にあるローカルPHPファイルを読み込み対象にでき、サーバー環境やテーマ側の条件がそろうとリモートコード実行につながる可能性がある。
GitHub Security Advisoryでは、7.1.1だけでなく複数の旧系列も影響対象として掲載され、それぞれ修正版が提供されている。
重要なのは「自分は7.1系じゃないから関係ない」と決めつけないことだ。
長期運用しているサイトほど、古い系列をそのまま使っている場合がある。
Click2Shellも同じ週に出ている
もうひとつ注意したいのがClick2Shellだ。
こちらは9月17日のWordPress 7.1.1で修正された問題で、細工したURLをログイン中の管理者が開くことを起点に、意図しないテーマのインストールやプレビューにつながる。
Patchstackの分析では、単体で即サーバー乗っ取りになるわけではない。ただし別の弱点を持つテーマと組み合わせることで、PHPコード実行までつながる攻撃チェーンが示されている。
つまり、
「管理者しか操作できないから大丈夫」
ではなく、
管理者のブラウザを踏み台にする攻撃がある
ということだ。
まず確認する4つ
パニックになる必要はない。順番に確認すればいい。
- WordPressコアを利用中の系列で最新にする
- 自動更新が失敗していないか確認する
- 使っていないテーマやプラグインを残しっぱなしにしない
- 管理者アカウントで不審なリンクを開かない
特に3つ目は地味だが重要だ。
WordPressでは「有効化していないから安全」と思って、古いテーマを置いたままにしがちだ。攻撃によっては、非アクティブなコンポーネントも利用される可能性がある。
使っていないものは消す。これは容量整理ではなく、攻撃面を減らす作業だ。
更新前にバックアップ、ではなく「更新できる状態」を作る
セキュリティ更新のたびに怖くなるサイトは、運用自体に問題がある。
更新すると壊れそうだから放置する。放置するからバージョン差が広がる。差が広がるから、ますます更新できなくなる。
この循環が一番危ない。
本来は、
- 日常的にバックアップが取れている
- ステージングで更新を試せる
- 戻せる手順が分かっている
- PHPやプラグインも古すぎない
という状態にしておく。
WordPressのセキュリティは「強いプラグインを1個入れること」より、いつでも更新できる運用のほうが効く。
ホスティングも運用の一部
自分でサーバーを触るのが難しい場合は、マネージドWordPressホスティングを使う意味がここにある。
バックアップ、ステージング、キャッシュ、WAF、更新支援などをまとめて持てるからだ。ZEROHANDではWordPressホスティングとしてKinstaを見るポイントも整理している。
もちろん、ホスティングを変えれば脆弱性が消えるわけではない。
ただし「更新が怖くて半年止まる」より、「検証してすぐ当てられる」環境のほうが事故には強い。
今日の結論
WordPressの管理画面を数週間見ていないなら、今日一度開いたほうがいい。
今回の7.1.2は公式が即時更新を勧めるセキュリティリリースだ。
そしてClick2Shellのように、修正後すぐ技術情報が公開されることもある。
パッチが出てから攻撃側が学ぶまでの時間は、もう長くない。
更新通知を見て閉じるのではなく、更新できる運用そのものを作っておく。それが一番地味で、一番効く。
