PHPの脆弱性php2shell、WordPressの持ち主が今やること

PHPの脆弱性php2shell、WordPressの持ち主が今やること

記事
IT・テクノロジー
「PHPに大きな脆弱性が見つかったらしいけれど、自分のWordPressサイトは大丈夫なのか分からない」「サーバー会社からお知らせが来たが、何をすればいいのか読んでもピンとこない」。10月下旬から、こうした声をよく聞くようになりました。

2026年10月21日、PHP本体の深刻な脆弱性2件(CVE-2026-109618/CVE-2026-109619、通称php2shell)の修正版が公開されました。ログインしていない第三者が、外部からサーバー上でプログラムを動かせるおそれがある、という種類の脆弱性です。公開の前後から攻撃の試みが大量に観測され、10月26日には米国の政府機関(CISA)が「実際に悪用が確認された脆弱性」の一覧にも登録しています。

結論から言うと、WordPressの持ち主がやることは次の3つです。

1. 自分のサイトのPHPのバージョンを確認する
2. 8.1以前なら、8.3以上に切り替える(8.2も年内でサポートが終わるため、8.3以上がおすすめ)
3. 対応が遅れた期間があるなら、怪しい痕跡がないか確認し、パスワードを変える

ポイントは、WordPress本体やプラグインを最新にしても、この脆弱性は直らないことです。直す方法は、PHPそのものを修正済みのバージョンにすることだけです。報道から3週間ほどたちましたが、「まだ確認していない」という方は、今日のうちに1つ目の確認だけでも済ませておきましょう。

そもそも何が問題なのか


PHPは、WordPressを動かしているプログラムの言語です。WordPressの画面はすべて、サーバーの中でPHPが動くことで作られています。そのPHP本体に穴が見つかったため、WordPressに限らず、PHPで動くサイトが広く影響を受けます。

今回の脆弱性で心配されているのは、主に次の2点です。

- 外部からサーバー上でプログラムを動かされるおそれ:サイトの改ざん、不正なファイルの設置、迷惑な広告への転送などにつながります
- サーバーのメモリの中身を読み出されるおそれ:パスワードなどの情報が漏れる可能性が指摘されています

PHPの開発元は、設定の変更だけで完全に防ぐ方法はないとしています。いちばん確かな対策は、修正済みのバージョンにすることです。

修正版があるバージョンと、ないバージョン

- 8.5/8.4/8.3/8.2:修正版あり(8.5.12、8.4.27、8.3.36、8.2.35)
- 8.1/8.0/7.4:PHPの公式からは修正版が出ていない(サーバー会社やOSの提供元が独自に修正を当てている場合はある)
- 7.3以前・5系:修正の予定なし

さらに、8.2は2026年12月31日で公式のサポートが終わります。これから切り替えるなら、8.3以上を選んでおくと、年明けにもう一度切り替える手間がなくなります。

やること1:自分のサイトのPHPバージョンを確認する


まずは、今のバージョンを調べます。WordPressの管理画面から、数分で確認できます。

WordPressの管理画面で確認する

1. 管理画面にログインし、左のメニューから「ツール」→「サイトヘルス」を開きます
2. 上部の「情報」タブをクリックします
3. 「サーバー」の項目を開くと、「PHP バージョン」が表示されています

レンタルサーバーの管理画面で確認する

エックスサーバーなら「サーバーパネル」→「PHP」→「PHP Ver.切替」のように、多くのレンタルサーバーには、ドメインごとにPHPのバージョンを選ぶ画面があります。複数のサイトを持っている場合は、サイトごとに確認してください。

サーバー会社のお知らせも確認する

共用のレンタルサーバーでは、PHP本体の修正(8.3.36などへの更新)はサーバー会社が行います。管理画面には「8.3」のように大まかな番号しか出ないことが多いので、細かい修正の適用状況は、サーバー会社のお知らせで確かめます。サーバー会社によっては、古いバージョンにも独自に修正を当てている場合があります。

やること2:8.1以前なら、8.3以上に切り替える


確認したバージョンが8.1以前だった場合は、切り替えを検討してください。サーバー会社が古いバージョンにも修正を当てている場合でも、8.1以前はすでに公式のサポートが終わっているバージョンなので、この機会に上げておくのがおすすめです。

切り替えの流れ

1. バックアップを取る:ファイルとデータベースの両方を保存します。サーバーのバックアップ機能か、バックアップ用のプラグインを使います
2. WordPress本体・テーマ・プラグインを先に更新する:古いプラグインは、新しいPHPで動かないことがあります。先に更新しておくと、切り替え後のトラブルが減ります
3. サーバーの管理画面でPHPを8.3以上に切り替える
4. 表示を確認する:トップページ、よく見られるページ、お問い合わせフォームの送信、管理画面へのログインを、パソコンとスマホの両方で確かめます

切り替えたら画面が崩れた・真っ白になった場合

古いPHPに合わせて作られたテーマやプラグインがあると、エラーが出ることがあります。よくある症状は、「重大なエラーが発生しました」という表示、画面の一部が表示されない、管理画面に入れない、などです。

ここで注意したいのは、元のPHPに戻すと、脆弱性も一緒に戻ってしまうことです。戻すのは原因を調べる間だけにして、原因のプラグインを更新する・別のものに置き換える・テーマの古い書き方を直す、といった対応で、新しいPHPのまま動くようにするのが本来の解決です。

PHPがかなり古い場合(7.3以前・5系)

古いほど、新しいPHPで動かない箇所が増えます。いきなり本番のサイトで切り替えるのではなく、テスト用の環境にサイトを複製して、先にどこが動かなくなるかを洗い出してから進めると安全です。

設定の変更やWAFだけでは足りない理由


「PHPの設定を変えれば防げる」「Cloudflareを入れていれば大丈夫」という情報も見かけますが、どちらもPHPの更新の代わりにはなりません。

- 設定の変更:攻撃の経路の一部をふさぐ効果はありますが、開発元は完全な対策にはならないとしています。また、WordPressの持ち主が自分で触れる設定ファイルからでは効かない項目もあります
- WAF(不正な通信を止める仕組み):攻撃を減らす時間稼ぎにはなりますが、PHPの穴そのものは残ります。攻撃側がWAFをすり抜けるように攻撃の中身を変えている、という観測も報告されています
- メンテナンスモード:表示を止めても、PHPは裏で動いているため、防ぐ手段にはなりません

PHPの切り替えが今すぐ難しい事情がある場合に、つなぎとして使うもの、と考えてください。

ここまで読んで、「自分のサイトのバージョンを見ても判断できない」「切り替えて崩れたら困るので、自分では触りたくない」という場合は、作業を代行します。現状の確認とバックアップから、PHPの切り替え、表示確認、簡単な点検、作業報告書の作成までを行います。PHPのバージョンによって料金が変わるため、分からない場合は見積り相談で確認方法からご案内します。


やること3:痕跡がないか確認し、パスワードを変える


対応が遅れた期間があるサイトは、念のため、怪しい痕跡がないか確認しておきます。次の項目は、WordPressの管理画面やレンタルサーバーのファイル管理画面から確認できます。

確認しておきたいこと

- 管理者アカウントが勝手に増えていないか:「ユーザー」の一覧で、覚えのない管理者がいないか確認します
- 覚えのないPHPファイルがないか:特に、画像などを置く「uploads」フォルダの中にPHPファイルがある場合は要注意です。プラグインやテーマのフォルダも、最近更新された覚えのないファイルがないか見ておきます
- 見た目がおかしくないか:知らないページへの転送、見覚えのない広告やリンク、検索結果に覚えのないページが出ていないか
- アクセスやエラーの記録:サーバーのアクセスログやエラーログに、不自然なアクセスやエラーが急に増えていないか

パスワードを変える

今回の脆弱性は、サーバーのメモリの中身が読み出されるおそれが指摘されています。WordPressの管理画面、レンタルサーバーの管理画面、FTP、データベースなどのパスワードを、PHPを切り替えたあとに変更しておくと安心です。

痕跡が見つかった場合

不審なファイルを見つけても、すぐに消すのは避けてください。消してしまうと、いつ・どこから入られたのかが分からなくなり、同じ入口から再び入られることがあります。まずはサイトの公開を止めるかサーバー会社に相談し、記録を残したまま、専門の業者に調査を依頼するのがおすすめです。

ついでにできる改善提案:次の「緊急の更新」に慌てないために


今回のような脆弱性は、これからも突然出てきます。PHPの切り替えのついでに、次のような準備をしておくと、次回は落ち着いて対応できます。

バックアップを自動で取る

サーバーの自動バックアップ機能が有効になっているか、何日分残るのかを確認しておきます。プラグインでバックアップを取る場合は、保存先がサーバーの中だけにならないようにしておくと、より安全です。

使っていないプラグイン・テーマを削除する

停止しているだけのプラグインやテーマも、ファイルはサーバーに残っています。使っていないものは削除しておくと、更新の手間も、PHPを切り替えたときのトラブルも減らせます。

ログインまわりを守る

管理画面のログインに、2段階認証やログイン回数の制限を設定しておきます。パスワードを変えるときは、ほかのサービスと使い回していないかもあわせて確認しましょう。

サーバー会社のお知らせを受け取れるようにする

サーバー会社からのお知らせが、普段見ない受信箱に届いていないか確認しておきます。今回も、多くのサーバー会社がお知らせで対応状況を案内していました。

PHPのサポート期限を控えておく

8.2は2026年12月31日、8.3は2027年12月31日で公式のサポートが終わる予定です。サイトのPHPのバージョンと期限をメモしておくと、慌てずに切り替えの計画を立てられます。

これまでの対応について


私はWeb制作歴6年で、HP・LP・ECサイトの制作を100件以上手がけてきました。coconalaのWordPress修正サービスでは評価5.0をいただいています。PHPの切り替えは、作業そのものより「切り替えたあとに何が動かなくなるか」の見極めが大切です。作業の前にバックアップを取り、切り替えたあとはパソコンとスマホで主要なページとフォームを確認してからご報告します。対応できる範囲は事前に正直にお伝えし、不正アクセスの有無を断定するようなお約束はしません。NDA対応・本人確認済みで、お預かりしたログイン情報は作業後に破棄します。平日日中は1時間以内の返信を目安に対応しています。

まとめ:まずはバージョンの確認から


php2shellは、WordPressやプラグインの更新では直らず、PHP本体を修正済みのバージョンにすることが対策です。まずは管理画面の「サイトヘルス」で今のPHPのバージョンを確認し、8.1以前なら8.3以上への切り替えを、対応が遅れた期間があるなら痕跡の確認とパスワードの変更を進めてください。8.2の方も、年内のサポート終了に向けて8.3以上への切り替えを計画しておくと安心です。

「バージョンを確認したけれど、切り替えてよいか分からない」「古いサイトなので、崩れないか不安」という場合は、お気軽にご相談ください。今のPHPのバージョンとサーバー会社を伺ったうえで、必要な作業と料金をお伝えします。


内容が固まっていない段階のご相談は、プロフィールからどうぞ。

サービス数100万件のスキルマーケット、あなたにぴったりのサービスを探す