PHPの脆弱性「PHP2Shell」とは|WordPressサイトの確認方法と対応例【中小企業向け】

PHPの脆弱性「PHP2Shell」WordPressサイトの確認方法と対応例

※本記事は2026年10月22日時点の情報をもとにしています。状況は日々変わるため、最新の情報は各社・各機関の発表をご確認ください。

2026年10月21日、Webサイトの多くを動かしているプログラミング言語「PHP」に、重大な欠陥(脆弱性)が2件あると公表され、修正版が公開されました。WordPressで作られたホームページも対象です。

本記事では、国内外の発表をもとに分かっている事実を整理し、自社サイトの管理者として、また利用者として取り得る対応と、その判断の材料をまとめます。あわせて、弊社が実際に行った対応を一例としてご紹介します。

この記事の要点

  • PHPの修正版が公開済みです。WordPressで作られたサイトも対象です。
  • 根本的な対策は「PHPの更新」です。WordPressの更新だけでは直りません。
  • PHP 8.1以前には修正版が提供されないため、新しい版への切り替えが必要です。

何が起きたのか

PHPの中核部分に、外部からサーバーを操作されるおそれのある欠陥が見つかりました。研究者のあいだでは「PHP2Shell」と呼ばれています。

項目内容
名称PHP2Shell(CVE-2026-109618、CVE-2026-109619)
対象PHPで動くWebサイト(WordPress、EC-CUBEなどを含む)
深刻度10点満点の評価で9.2(最も高い区分)
起こり得ることログインなしで、外部からサーバー上で不正なプログラムを動かされる
修正版8.5.12/8.4.27/8.3.36/8.2.35(2026年10月21日公開)
8.1以前公式の修正版は提供されない

発見から修正版の公開まで

  1. 2026年8月19日発見米Wiz社がAIを使って最初の欠陥を発見
  2. 2026年8月24日報告PHPの開発チームへ報告
  3. 2026年10月20日情報の流出公表予定日(10月22日)より前に、情報がネット上に漏れる
  4. 2026年10月21日修正版の公開日本時間22時40分頃に公開

守る側が先に見つけたケースで、本来は修正版の準備が整ってから公表される予定でした。ただし、修正版の公開前に情報が漏れたため、その間は攻撃する側も動ける状態にありました。

分かっていること・分かっていないこと

分かっていること(10月21日時点)

  • 修正版が公開されている
  • 攻撃の試みが観測されている米Cloudflare社などが報告
  • 実際に侵入された被害は確認されていない

分かっていないこと

  • 攻撃する側が以前から気付いて使っていたか欠陥そのものは10年以上前から存在していた
  • 本当に被害がないのか攻撃の痕跡が記録に残りにくいとされ、「報告がない」ことが「被害がない」ことを意味するとは限らない

なぜ多くの会社に関係するのか

PHPは、Webサイトの約7割で使われている言語です。会社のホームページで広く使われているWordPressも、PHPで動いています。

サーバー側の言語が分かるサイトのうち、PHPを使っている割合69.3%

すべてのWebサイトのうち、WordPressを使っている割合39.6%

PHPを使っているサイトの、バージョンの内訳

  • 8系 65.2%
  • 7系 27.0%・5系 7.7%(サポート終了)

出典:W3Techs(2026年10月21日時点)。8系のうち8.0・8.1もサポートが終了しています。

今回の欠陥はPHPそのものにあります。発見した米Wiz社は、ホームページ側の作りに問題がなくても影響を受け得るとしています。

対応の全体像

誰がPHPを更新するかは、ホームページの管理のしかたで決まります。全体の流れは次のとおりです。

1

自社のサイトはPHPを使っているか

WordPress、EC-CUBEなどで作ったサイトはPHPで動いています

使っている
2

PHPを更新するのは誰か

ホームページの管理のしかたで決まります

制作会社・保守会社に任せている

担当者に、更新と確認を依頼します

レンタルサーバーを自社で契約している

サーバー会社が更新します。お知らせを確認します

自社でサーバーを管理している

自社で修正版に更新し、PHPを再起動します

3

PHPのバージョンを確認する

WordPressなら管理画面の「サイトヘルス」で確認できます

8.2以上

修正済みの番号以上なら、今回の欠陥は修正済み

8.2.35/8.3.36/8.4.27/8.5.12 以上

8.1以前

修正版がないため、新しい版へ切り替え

バックアップ → 本体・プラグインの更新 → 切り替え → 動作確認

4

必要に応じて、更新前の被害の有無を確認する

ファイルの点検やパスワードの変更。リスクの大きさ(起こりやすさと影響)で判断します

自社サイトのPHPバージョンを確かめる

  1. WordPressの管理画面:「ツール」→「サイトヘルス」→「情報」タブ→「サーバー」の「PHPバージョン」
  2. レンタルサーバーの管理画面:「PHPバージョン設定」などの画面
  3. 分からない場合:制作会社・保守会社に確認
表示されたバージョン今回の欠陥が修正済みになる番号サポート期限
8.5.○○8.5.12 以上2029年12月末
8.4.○○8.4.27 以上2028年12月末
8.3.○○8.3.36 以上2027年12月末
8.2.○○8.2.35 以上2026年12月末
8.1 以前公式の修正版なし終了済み

新しい版へ切り替える場合、8.2は2026年12月末でサポートが終わるため、8.3以上が候補になります。最新の8.5はWordPress本体では対応済みですが、プラグインやテーマの対応が追いついていないことがあります。弊社では8.4を選びました。

なお、自社で管理しているサーバーで、UbuntuなどOSが提供するPHPを使っている場合は、表示される番号が上の表と異なります。OSの提供元が、番号を変えずに修正だけを取り込んでいるためです。たとえばUbuntu 24.04では、修正済みでもPHPのバージョンは「8.3.6」と表示され、パッケージの版が「8.3.6-0ubuntu0.24.04.13」以降かどうかで判断します。OS提供元のセキュリティ情報で確認してください。

立場別:取り得る対応と判断の材料

自社サイトの管理者として

今回の欠陥に対する根本的な対策は、PHPの更新だけです。PHPの開発チームも、設定の変更などでは完全には防げず、完全な対策は更新だけとしています。

まず大きく分かれるのは、PHPを自社で更新できるかどうかです。

自社で更新できない

レンタルサーバーを使っている、制作会社・保守会社に任せている

  • サイトの運用・保守を担当している人に、対応状況を確認する
  • レンタルサーバー各社は順次対応を進めており、基本はその対応を待つことになる
  • PHPが8.1以前に設定されている場合は、待っていても修正版が届かない新しい版への切り替えが必要

自社で更新する

自社でサーバーを管理している(VPSなど)

  • 放っておいても、自動で修正されることはない
  • PHPのバージョンを確認し、公開済みの修正版に更新する更新後はPHPの再起動も必要
  • UbuntuなどOSが提供するPHPは、番号の付け方が公式と異なる詳しくは「自社サイトのPHPバージョンを確かめる」を参照

制作会社・保守会社への問い合わせ例

PHPの脆弱性(PHP2Shell)の件で確認させてください。
1. 当社のホームページはPHPを使っていますか。使っている場合、バージョンはいくつですか。
2. 修正版への更新は済んでいますか。
3. PHP 8.1以前の場合、新しい版への切り替えは可能ですか。作業内容と費用の見通しを教えてください。

判断が分かれる対応:更新前に何かされていなかったかの確認

PHPを更新しても、更新前に仕込まれたものや盗まれたものは元に戻りません。ただ、被害が確認されていない現時点で、どこまで調べるかは判断が分かれます。

対応何に備えるか手間の目安
不審なファイル・変更の点検更新前に、不正なファイルを仕込まれていた場合セキュリティ用のプラグインで点検する、または保守会社に依頼する
管理画面などのパスワード変更更新前に、パスワードなどを読み取られていた場合各サービスで変更する。外部サービスとの連携設定の変更が必要になることもある

どこまで行うかは、後の章「対応をどう判断するか」で紹介する考え方も参考にしてください。

利用者として

経営者の方も従業員の方も、普段はさまざまなネットショップやWebサービスの利用者です。分かっている事実は次のとおりです。

  • 今回の欠陥はサーバー側の問題です。利用者として、ご自身のスマートフォンやパソコンで更新するものはありません。
  • カード番号を保存しない仕組みのネットショップでも、サイトが書き換えられると、入力したカード番号が盗まれることがあります(経済産業省)。
  • 利用しているサービスで被害があったかどうかは、利用者の側からは分かりません。各サービスからのお知らせが手がかりになります。
場面取れる対応
普段からできることカードの利用明細に、身に覚えのない請求がないか確認する。同じパスワードを複数のサービスで使い回さない
サービスから案内が来たとき案内に従ってパスワードを変更する。カード情報の漏えいの案内であれば、カード会社に相談する
常に気を付けることサービスを装った「確認してください」というメールやSMSのリンクを開かない

対応をどう判断するか:リスクの大きさで考える

どこまで対応するかは、最終的には各社の判断です。判断のしかたの一つに、「被害がどのくらい起こりやすいか」と「起きたときの影響がどれだけ大きいか」の2つから考える方法(リスクアセスメント)があります。

観点考える要素
起こりやすさ修正版を適用済みか。適用までにどのくらい時間がかかったか(情報が流出した10月20日以降、修正されていない期間が長いほど高いと考えられる)。PHP 8.1以前のままか
影響の大きさカード情報、個人情報、会員情報を扱っているか。サイトが止まった場合の売上や取引への影響。お客様や取引先にまで被害が及ぶか

判断の例

高起こりやすさ低

起こりやすさ高・影響小

会社案内が中心で、PHPが8.1以前のまま

早めに新しい版へ切り替え、10月20日以降の不審なファイルを点検する

起こりやすさ高・影響大

ネットショップなどで、修正版をまだ適用できていない

修正版の適用を確認できるまで、サイトを一時的に閉じることも選択肢になる

起こりやすさ低・影響小

会社案内が中心で、修正版を適用済み

修正版の適用を確認して、区切りとする判断も考えられる

起こりやすさ低・影響大

ネットショップなどで、修正版を適用済み

10月20日以降の不審なファイルの点検や、パスワードの変更を検討する

小影響の大きさ大

あくまで判断の一例です。例えば、自社でネットショップを運営していて修正版の適用がまだ確認できない場合、影響が非常に大きいため、適用を確認できるまでサイトを一時的に閉じる判断も妥当と考えられます。ただし、閉じている間は売上や問い合わせの機会を失います。その損失と、被害が起きた場合の影響を比べて判断することになります。

点検の目安は「10月20日以降」

情報が流出した10月20日以降は、攻撃が増えている可能性があります。そのため、ファイルを点検する場合は、10月20日以降に作られたり変更されたりした不審なファイルがないかが一つの目安になります。なお、欠陥そのものは以前から存在していたため、専門家の中には、それより前にさかのぼって確認するよう勧める声もあります。

弊社の対応例

参考として、弊社が今回行った対応をご紹介します。あくまで弊社の場合の一例です。サイトの構成や扱っている情報によって、適切な対応は異なります。

自社サイトの管理者として

調べたところ、弊社でPHPが使われている環境は3つありました。環境ごとに、対応が分かれています。

環境PHPの使われ方置き場所対応
ブログWordPress全体レンタルサーバーPHPを8.1から8.4に切り替え
ホームページ問い合わせフォームのみレンタルサーバーサーバー会社による修正版の適用を待つ
検証用サーバー検証作業用VPS(自社で管理)修正を含むパッケージに更新

ブログ

ブログはWordPressで作られており、レンタルサーバーで運用しています。確認したところ、PHPのバージョンは8.1で、今回の修正版が提供されない系統でした。そこで、次の順に対応しました。

  1. 手順1

    バックアップ

    FTPソフトでサイトのファイル一式をダウンロードし、ZIPに圧縮して保管

  2. 手順2

    本体・プラグインの更新

    PHPの切り替えで動かなくなるのを防ぐため、すべて最新版に更新

  3. 手順3

    PHPを8.4に切り替え

    最新の8.5はプラグインの対応が追いついていない可能性があると判断

  4. 手順4

    表示と動作の確認

    警告が1件出たため設定を調整し、以前と変わらず動くことを確認

手順4で表示された警告は、アイキャッチ画像が設定されていないページで出るものでした。通常の記事にはアイキャッチ画像を設定しているため、警告はトップページだけに出ていました。表示そのものに影響はなかったため、警告は管理画面(ダッシュボード)でのみ確認できるようにし、サイト上には表示しない設定に変更しています。

ホームページ

ホームページでPHPを使っているのは、問い合わせフォームの部分だけでした。こちらもレンタルサーバー上にあり、PHPの更新はサーバー会社が行います。サーバー会社が修正版を適用すれば、今回の欠陥への対応も完了するため、その対応を待つ判断としました。

検証用サーバー(VPS)

検証用に自社で管理しているサーバー(Ubuntu 24.04)は、放っておいても修正されません。そこで、PHPのパッケージを、今回の修正を含む版に更新しました。

更新前更新後
8.3.6-0ubuntu0.24.04.128.3.6-0ubuntu0.24.04.13(PHP2Shellの修正を含む)

先に触れたとおり、更新後もPHPのバージョン自体は「8.3.6」と表示されます。修正の有無は、末尾の「.13」の部分で確認しています。

利用者として

弊社でも、さまざまなWebサービスでパスワードや個人情報、クレジットカードの情報を入力しています。不安があれば変更するのが確実ですが、弊社では次の点を踏まえ、現時点では対応不要と判断しました。

  • 今回の欠陥は守る側が先に見つけ、修正版の準備と合わせて公表が進められたこと
  • 10月21日時点で、侵入の被害は確認されていないこと

ただし、攻撃する側が以前から気付いていた可能性は否定できません。そのため、各サービスからのお知らせや被害に関する続報を確認し続け、必要になった時点で対応する方針です。

対処しない場合に起こり得ること

発見した米Wiz社は、攻撃が成功した場合に、次のような被害が起こり得るとしています。

  • サーバーの乗っ取り

    外部から不正なプログラムを動かされる

  • 情報の盗み出し

    パスワード、ログイン情報、外部サービスの接続キーなどを読み取られる

  • ホームページの改ざん

    偽のページやウイルスを仕込まれ、閲覧したお客様や取引先にまで被害が及ぶ

2024年に見つかったPHPの別の重大な欠陥では、公表から1日以内に攻撃の試みが確認されました。また、8.1以前のPHPには公式の修正版が提供されないため、今回に限らず、今後見つかる欠陥も修正されない状態が続きます。

よくある質問

サイトの利用者として、スマートフォンやパソコンで何か更新する必要はありますか。

利用者として、ご自身のスマートフォンやパソコンで更新するものはありません。今回の欠陥は、Webサイトを動かすサーバー側の問題です。

ただし、自社でホームページを運営している場合は別です。サイトのPHPのバージョンの確認が必要です(本記事の「自社サイトのPHPバージョンを確かめる」を参照)。

なお、この件に便乗したフィッシングメールなどによる二次被害のおそれがあります。「PHPの脆弱性対策」をうたうアプリのインストールや、リンクを開くよう求めるメール・SMSには応じないでください。慌てずに、サーバー会社や公的機関など信頼できる発表を確認したうえで対処してください。

WordPressを最新版にすれば大丈夫ですか。

いいえ。PHPはサーバーに入っている仕組みで、WordPress本体やプラグインの更新では変わりません。PHPそのものの更新が必要です。

レンタルサーバーの管理画面に入れません。被害を受けたのでしょうか。

予防のために管理画面を一時停止しているサーバー会社があります。たとえばエックスサーバーは、不正アクセスによるものではなく、サイトの表示やメールは引き続き使えると案内していました(10月21日時点)。契約先のお知らせを確認してください。

すでに被害を受けていないか心配です。

制作会社や保守会社に、10月20日以降に見覚えのないファイルが作られていないかなど、不審な点がないか確認を依頼してください。WordPressであれば、セキュリティ用のプラグインで、公式の配布版と違うファイルがないかを点検する方法もあります。

まとめ

WordPressなどで作ったホームページをお持ちの場合、今回の件は無関係ではありません。まずは、次の点を確認してみてください。

  • 自社のサイトがPHPを使っているか
  • PHPのバージョンが、修正済みの番号以上になっているか
  • 8.1以前の場合、新しい版への切り替えの見通しが立っているか

そのうえで、更新前の被害の確認やパスワードの変更をどこまで行うかは、本記事の判断の材料を参考に、扱っている情報に合わせてご検討ください。

参考情報

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA