PHPの重大な脆弱性「PHP2Shell」とは ホームページへの影響と確認すること

2026年10月21日、ホームページの多くが使っている「PHP」というプログラム言語に、重大な脆弱性(ぜいじゃくせい:プログラムの弱点)が2件公表されました。通称「PHP2Shell」と呼ばれています。WordPressで作ったホームページも対象になるため、ニュースを見て不安に感じた方も多いと思います。この記事では、何が起きたのか、なぜWordPressの更新だけでは解決しないのか、そして自社のホームページについて誰が何を確認すればよいのかを整理します。

PHPとは何か、なぜ影響が広いのか

PHPは、ホームページを置いているサーバー(インターネット上でデータを預かって公開するコンピューター)の中で動くプログラム言語です。ページを表示するたびに裏側で動き、記事の内容を組み立てたり、お問い合わせフォームの送信を処理したりしています。

WordPressはPHPで作られています。予約フォームや会員ページなど、独自に開発した仕組みもPHPで動いていることが多くあります。つまり、自社のホームページがWordPressで作られているなら、今回の件は「まず関係がある」と考えてよい話です。

PHP2Shellで何が起きたのか

公表されたのは、CVE-2026-109618とCVE-2026-109619という2件の脆弱性です。CVEは脆弱性につけられる世界共通の通し番号です。深刻度は10点満点の指標で9.2と評価され、最も危険な「緊急」の水準にあたります。

悪用されると、ログインしていない外部の第三者が、細工した通信を送るだけでサーバー上のプログラムを動かせるおそれがあります。ホームページの書き換えや、サーバー内に保存された情報の持ち出しにつながる種類の弱点です。

PHPの開発チームは同じ日に修正版(8.5.12、8.4.27、8.3.36、8.2.35)を公開しました。国内ではIPA(情報処理推進機構)とJPCERT/CC(日本の情報セキュリティの調整機関)が10月22日に注意喚起を出しています。公表の4日前には攻撃を試みる通信がすでに観測されていたと報告されており、10月26日には米国の政府機関が「実際に悪用が確認された脆弱性」の一覧に加えました。

WordPressを更新しても直らない理由

今回の弱点は、WordPressではなく、その土台であるPHPそのものにあります。そのため、WordPress本体やプラグインを最新にしても解消しません。WordPressの公式チームも、今回の件でWordPress側の更新は予定していないと説明しています。

ここで混同しやすいのが、2026年7月に公表された「wp2shell」です。名前は似ていますが、こちらはWordPress本体の弱点で、WordPressの更新(6.8.6、6.9.5、7.0.2)で修正されました。PHP2Shellは、管理画面に「更新があります」と表示されないため、気づかないまま残りやすい点に注意が必要です。

誰が対応するのかは、サーバーの契約形態で変わる

共用のレンタルサーバーを使っている場合

月額制のレンタルサーバーで、ほかの契約者とサーバーを共有している形態です。この場合、PHP本体を修正するのはサーバー会社です。国内の主なレンタルサーバー事業者の多くは、10月22日中に修正の適用を終えたと告知しています。

注意したいのは、多くの事業者が表示上のバージョン番号を変えずに修正を入れている点です。管理画面で「8.4.26」と表示されていても、未修正とは限りません。番号だけで判断せず、契約しているサーバー会社のお知らせを確認するのが確実です。

VPSや専用サーバー、自社サーバーの場合

VPS(仮想的に1台分を専有できるサーバー)や専用サーバーでは、PHPの更新は契約者側の作業です。保守を外部に任せているなら、修正版を適用した日付と、適用後のバージョンを報告してもらうと状況がはっきりします。

8.1以前のバージョンを使っている場合

PHP 8.1以前は、すでに開発チームのサポートが終わっています。通常の修正版が提供される対象ではないため、今回のような弱点が見つかっても塞がらない状態が続きます。後継のバージョンへの切り替えを優先して検討してください。

自社のホームページで確認しておきたいこと

  • PHPのバージョン:WordPressなら管理画面の「ツール」→「サイトヘルス」→「情報」タブ→「サーバー」の欄で確認できます。サーバー会社の管理画面でも確認できます。
  • サーバー会社の告知:修正の適用が済んでいるか、利用者側で必要な作業があるかを確認します。
  • 侵入の痕跡:JPCERT/CCは、サーバーの記録に不自然に長いログイン情報(セッションCookie)や、不審なファイル送信の通信、その前後のエラーが残っていないかを調べるよう案内しています。この確認は専門知識が必要なため、保守を担当している会社やサーバー会社に依頼するのが現実的です。

また、通信の手前で攻撃を遮る防御サービス(WAF)を導入していても、それはPHPの修正の代わりにはなりません。WAFは時間を稼ぐ手段であり、根本的な対策はPHP本体の更新だけだと、開発チームもJPCERT/CCも説明しています。

「更新されているか」を把握できる状態にしておく

今回の件で見えてきたのは、ホームページの安全がWordPressだけでなく、その下のPHPやサーバーにも左右されるということです。そして、その部分は管理画面からは見えにくくなっています。

まずは、自社のホームページがどのサーバーで、どのバージョンのPHPで動いているかを書き出してみてください。あわせて、PHPの更新を誰が担当しているのかを確認しておくと、次に同じようなニュースが出たときに慌てずに済みます。

本記事の情報について
本記事は公開日時点で調査・検証した内容を掲載しています。掲載後のアップデートや仕様変更により、記載の手順・画面・価格などが現在と異なる場合があります。内容には十分注意を払っていますが、正確性・完全性を保証するものではありません。本記事を参考にした結果生じた損害等について、当方では責任を負いかねますので、あらかじめご了承ください。

X