Wordpress

PHP2Shellとは?WordPressサイトの確認と対処法

記事執筆者:認定SEOコンサルタント 三田健司

「PHPに危険な脆弱性が見つかったというニュースを見たが、うちのWordPressサイトは大丈夫か」「レンタルサーバーから緊急メンテナンスのお知らせが届いたが、何をすればよいのか分からない」。10月21日以降、こうしたご相談が急に増えています。

2026年10月21日、Webサイトを動かすプログラム言語であるPHPに、2件の重大な脆弱性(セキュリティ上の欠陥)が公表されました。「PHP2Shell」と呼ばれ、ログインしていない第三者がサーバー上で好きなプログラムを動かせてしまうおそれがある、非常に深刻なものです。

WordPressはPHPで動いているため、中小企業のホームページの多くが無関係ではありません。一方で、レンタルサーバーを使っている会社の場合は、自社で直接パッチを当てる作業はほとんどなく、確認すべきポイントを押さえれば落ち着いて対応できます。

この記事では、PHP2Shellの中身を公式の発表にもとづいて整理したうえで、自社サイトのPHPのバージョンの確認方法、レンタルサーバー利用者がやること、侵入されていないかの確かめ方、サイトを一時停止するときのSEOの注意点までを順番に説明します。

筆者は全日本SEO協会認定SEOコンサルタントとして、Web制作とSEOに10年以上携わり、延べ1,000件以上のご相談に対応してきました。WordPressの改ざん復旧や保守の現場で見てきたことも、あわせてお伝えします。

目次

PHPの緊急脆弱性「PHP2Shell」とは

サーバー室で警告ランプが点いた機器を確認するセキュリティ担当者のイラスト

まず、今回どのような問題が見つかり、いつ修正されたのかを確認します。ニュースの見出しだけでは「世界中のサイトが危ない」という印象ばかりが残りやすいので、事実を落ち着いて押さえておきましょう。

10月21日に修正版が公開された

PHPの開発元であるThe PHP Groupは、2026年10月20日に「重大な脆弱性を修正するセキュリティリリースを予定している」と事前に告知しました。公開予定は10月21日14時(協定世界時、日本時間では同日23時)とされ、同日中に修正版が公開されています。

修正版のバージョンは、PHP 8.5.12、8.4.27、8.3.36、8.2.35の4つです。PHPの公式サイトは、2件とも深刻度の指標であるCVSS v4.0で9.2(緊急)と評価し、完全な回避策はなく、更新することだけが安全な選択肢だと明記しています。

2件の脆弱性の中身

公表された脆弱性は、CVE-2026-109618とCVE-2026-109619の2件です。1件目は、メモリが足りなくなったときの処理の途中で、内部のデータが中途半端な状態のまま扱われてしまう問題です。

2件目は、ひとつのリクエストで使い終わったはずの内部の情報が残り、次のリクエストの処理で誤って使われてしまう問題です。どちらも、条件がそろうと外部からの細工したアクセスでサーバー上のプログラムを動かされる「リモートコード実行」につながるとされています。

なぜ「ほぼすべてのPHPサイト」が対象なのか

今回の問題は、WordPressなどのアプリケーションではなく、PHPそのものの中にあります。PHPの公式の告知では、PHP-FPM、Apacheのmod_php、php-cgi、FrankenPHP、LiteSpeedなど、Webのリクエストを処理するすべてのPHP環境が対象だとしています。

特にmod_phpという動かし方では、アプリケーションのプログラムが動く前の段階で、ログインなしのアクセスから攻撃が成立することが実証されたと説明されています。どんなCMSを使っているか、プラグインが最新かどうかに関係なく、PHPの版が古ければ影響を受けるという点が、今回の怖さです。

攻撃の状況と国内の動き

報道によると、Cloudflareは修正版の公開前から、この脆弱性を狙った攻撃の初期の動きを確認していたとしています。公開後は、攻撃を試す通信が増えたと複数のセキュリティ企業が報告しています。

国内では、IPA(情報処理推進機構)が10月21日に事前準備を呼びかけ、22日に対策の情報を公開しました。多くのレンタルサーバー事業者も21日から22日にかけて緊急メンテナンスを行い、管理画面や一部のサービスを一時停止したうえで修正を適用したと告知しています。

一方で、実際に侵入された被害の全体像は、10月24日時点ではまだはっきりしていません。過度に怖がる必要はありませんが、「様子を見る」で済ませてよい話ではないと筆者は考えています。

WordPressサイトが影響を受ける理由

家の土台にひびが入り上の建物を作業員が支えているイラスト

「WordPress本体もプラグインも最新にしているから大丈夫」と考えている方は少なくありません。しかし今回は、その前提が当てはまらない種類の脆弱性です。

WordPressはPHPで動いている

WordPressは、PHPで書かれたプログラムです。ページを表示するたびに、サーバーの中でPHPが動いてデータベースから記事を読み出し、HTMLを組み立てて返しています。

つまり、WordPressの土台にあたるPHPに欠陥があれば、その上に乗っているWordPressがどれだけ最新でも影響を受けます。家にたとえるなら、部屋の鍵をいくら新しくしても、基礎にひびが入っていれば安心できないのと同じです。

WordPress本体の更新では直らない

管理画面の「更新」から行うWordPress本体やプラグインの更新では、PHPのバージョンは変わりません。PHPはサーバー側に入っているソフトウェアなので、更新するのはサーバーを管理している人の役割になります。

今回の対策で確認すべき場所は、WordPressの管理画面ではなく、サーバーのPHPのバージョンです。ここを取り違えると、「更新したつもり」のまま古いPHPで動き続けることになります。

共用レンタルサーバーとVPS・専用サーバーの違い

中小企業のホームページで多い共用レンタルサーバーの場合、PHPの修正は基本的にサーバー事業者が行います。利用者がやることは、事業者の告知を確認し、必要に応じて管理画面でPHPのバージョンを切り替えることが中心です。

一方、VPSや専用サーバー、クラウドのサーバーを自社や制作会社で管理している場合は、PHPの更新を自分たちで行う必要があります。誰がサーバーを管理しているのか分からない場合は、まずそこを確認することが最初の一歩です。

自社サイトのPHPバージョンを確認する方法

ノートパソコンでサーバーの情報画面を確認するWeb担当者のイラスト

次に、自社サイトが今どのPHPで動いているのかを確かめます。専門知識がなくても、WordPressの管理画面から数分で確認できます。

WordPressの「サイトヘルス」で確認する

WordPressの管理画面で「ツール」→「サイトヘルス」を開き、「情報」タブを選びます。「サーバー」の項目を開くと、「PHPのバージョン」としてサーバーで動いている版が表示されます。

表示が「8.3.36」のように修正版の番号と同じか、それより新しければ、PHPの開発元が修正した版で動いていることになります。数字は「8.3」の後ろの番号まで見るのがポイントです。

修正版の番号の見方

今回の修正版は、8.5系なら8.5.12、8.4系なら8.4.27、8.3系なら8.3.36、8.2系なら8.2.35です。たとえば「8.3.30」と表示されていれば、8.3系の修正前の版ということになります。

ただし、レンタルサーバーによっては、PHPの番号を変えずに独自の修正を当てている場合があります。表示の番号だけで判断できないときは、サーバー事業者の告知に「どの版に修正を適用したか」が書かれているので、そちらで確認してください。

サーバーの管理画面でも確認できる

多くのレンタルサーバーでは、管理画面の「PHPバージョン切替」や「PHP設定」といったメニューで、ドメインごとに使っているPHPの版を確認できます。WordPressにログインできない状態でも、こちらなら確かめられます。

複数のドメインやサブドメインでサイトを運営している会社は、ドメインごとに別のPHPの版が設定されていることがあるので注意してください。古いキャンペーンサイトや採用サイトだけが古い版のまま残っているケースは、現場でもよく見かけます。

レンタルサーバー利用者がやること

レンタルサーバーの棚の前で手順を確認しながら作業する担当者のイラスト

ここからは、共用レンタルサーバーでWordPressを運営している会社が、具体的に何をすればよいかを順番にまとめます。慌てて設定をいじる前に、上から順に確認してください。

サーバー事業者の告知を確認する

最初にやることは、契約しているサーバー事業者のお知らせやメンテナンス情報のページを確認することです。修正が全サーバーに適用済みか、利用者側で必要な作業があるか、古い版の扱いはどうなるかが書かれています。

管理画面が一時停止していた事業者もあるため、再開後に追加のお願いが出ていないかも見ておきましょう。告知のメールが迷惑メールのフォルダに入っていることもあるので、契約時のメールアドレスの受信箱もあわせて確認してください。

PHP 8.1以前を使っていたら切り替えを検討する

PHPの公式サイトは、PHP 8.1以前は開発元からの更新がすでに終わっていると明記しています。今回は深刻さを考えて、7.4、8.0、8.1向けに最小限の修正を参考として出していますが、これは自分でソースから組み立てる人向けのものです。

IPAも、サポートが終わった版は今回の修正の対象にならないとして、サポートされている版への移行を求めています。WordPress公式も推奨環境を「PHP 8.3以上」としているので、8.1以前のサイトは、これを機に8.3以上への切り替えを検討するのが現実的です。

切り替える前にバックアップと表示の確認をする

PHPの版を上げると、古いテーマやプラグインが動かなくなり、画面が真っ白になったりエラーが出たりすることがあります。切り替える前に、サーバーのバックアップ機能やプラグインでサイト全体のバックアップを取っておいてください。

切り替えた後は、トップページ、お問い合わせフォーム、よく見られている記事、管理画面のログインなど、主要な画面を実際に開いて確かめます。問題があればすぐに元の版に戻せるよう、作業は営業時間内の落ち着いた時間帯に行うのがおすすめです。

制作会社や保守会社に確認する

ホームページの制作や保守を外部に任せている場合は、「今回のPHPの脆弱性への対応状況」を問い合わせてください。誰がサーバーを管理しているのか、PHPの版はいくつか、切り替えの作業は誰がするのかの3点を聞けば十分です。

保守契約がない場合でも、制作した会社がサーバーの契約や設定を代行していることがあります。返事を待つ間に、上で紹介したサイトヘルスで自分でも版を確認しておくと、話が早く進みます。

侵入されていないかを確かめるポイント

虫めがねでフォルダの中の不審なファイルを探す担当者のイラスト

修正版に更新しても、更新前に侵入されていた場合は、その痕跡が残ったままになります。JPCERT/CCも10月22日に注意喚起を出し、更新とあわせて侵害の痕跡がないかを確認するよう呼びかけています。

見覚えのないPHPファイルがないか

WordPressでは、画像などを保存する「wp-content/uploads」のフォルダに、通常はPHPファイルは置かれません。サーバーのファイルマネージャーで、このフォルダの中に見覚えのない「.php」で終わるファイルが増えていないかを確認してください。

攻撃者は、あとで再び入り込むための「裏口」となるファイルを置いていくことがあります。更新日時が10月中旬以降の不審なファイルがあれば、削除する前に専門家へ相談してください。

管理者ユーザーが増えていないか

WordPressの管理画面の「ユーザー」で、権限が「管理者」になっているアカウントを確認します。心当たりのないユーザーが追加されていたら、侵入のサインの可能性があります。

管理者のパスワードと、サーバー・データベースのパスワードをあわせて変更しておくと安心です。WordPressのアプリケーションパスワードを使っている場合は、不要なものが残っていないかも見ておきましょう。

改ざんや不審な転送が起きていないか

スマートフォンとパソコンの両方で、自社サイトをGoogle検索から開いてみてください。改ざんされたサイトでは、検索から来た人だけを別のサイトへ転送する細工がされることがあり、ブックマークから開くと気づけない場合があります。

Search Consoleの「セキュリティの問題」に警告が出ていないか、身に覚えのないページがインデックスされていないかも確認ポイントです。検索結果に見慣れない外国語のページが並んでいたら、すぐに調べる必要があります。

気になる点があったら専門家に相談する

痕跡らしきものを見つけても、自己判断でファイルを消したりサイトを作り直したりすると、原因の調査が難しくなることがあります。まずは状況を記録し、サーバー事業者や制作会社、セキュリティの専門家に相談してください。

個人情報を扱うフォームがあるサイトで侵入が疑われる場合は、法的な対応が必要になることもあります。その判断は、弁護士など専門家にご相談ください。

サイトを一時停止するときのSEOの注意点

一時休止の看板を出した店の前を検索ロボットが確認しているイラスト

今回、修正が終わるまでサイトを一時的に止めた企業や団体も少なくありませんでした。止め方を間違えると、セキュリティとは別に検索の評価で損をすることがあるので、Googleの考え方を確認しておきます。

Googleのミューラー氏は「503」を推奨

Googleのジョン・ミューラー氏は10月21日、Blueskyで「予定外の更新のためにPHPのサイトを止めるなら、タイムアウトや404・500ではなくHTTPの503を返してほしい」という趣旨の投稿をしました。503は「一時的に利用できない」ことを伝えるステータスコードです。

さらに、503はPHPの外側、たとえばDNSの向き先を変える、CDNの機能を使うといった方法でも返せると補足しています。PHPそのものが危ない状況なので、PHPを動かさずに503を返すという考え方が大切です。

止めるのは1〜2日を目安に

Google検索セントラルのドキュメント「ビジネスを一時停止する」では、サイト全体を止めるのは「ごく短い期間(長くても数日)」に限るべき極端な手段だとしています。1〜2日程度なら、503のエラーページを返す方法が案内されています。

Googleのクロールに関するドキュメントでも、503などのエラーは1〜2日を超えて返し続けないよう説明されています。長く続くと、ページが検索結果から外れていくおそれがあるためです。

robots.txtは止めない

同じドキュメントでは、robots.txtのファイルには503を返さないこと、robots.txtですべてのクロールを禁止しないことが明記されています。robots.txtが503になると、Googleはサイト全体のクロールを控えてしまうためです。

メンテナンス画面を出すときは、robots.txtだけは通常どおり返す設定になっているかを確認してください。レンタルサーバーのメンテナンスモードやプラグインによっては、ここまで気が回っていないものもあります。

再開後にSearch Consoleで確認する

サイトを再開したら、Search Consoleの「ページ」のレポートで、サーバーエラーや見つからないページが急に増えていないかを確認します。主要なページは、URL検査でインデックス登録のリクエストを送っておくと再クロールのきっかけになります。

1日程度の停止で、すぐに順位が大きく下がることは通常は考えにくいですが、回復の時期を確約することはできません。慌てて設定を変え続けるより、数日から数週間は様子を見て判断するのがおすすめです。

今回の件から見直したい保守体制

カレンダーと工具を並べて保守の計画を話し合うチームのイラスト

今回のPHP2Shellは、ニュースとしてはいずれ落ち着きます。しかし、中小企業のホームページの守り方を見直すきっかけとしては、とても大事な出来事だと筆者は考えています。

サポートが終わったPHPを使い続けるリスク

今回、PHP 8.1以前は開発元の修正の対象外でした。さらにPHPの公式サイトは、PHP 8.2も2026年12月31日でサポートが終わり、それ以降はセキュリティの修正が出ないと明記しています。

つまり、今は修正版で動いている8.2のサイトも、年明けには「サポート切れ」になります。年内に8.3以上へ切り替える計画を立てておくと、次に同じような問題が起きたときに慌てずに済みます。

保守契約で決めておきたいこと

緊急の脆弱性が出たとき、誰が、どのくらいの時間で、何を確認するのかを決めておくと、対応の速さがまったく変わります。最低限、サーバーとドメインの管理者、PHPとWordPressの更新の担当、バックアップの取り方と保管先の3つは明確にしておきましょう。

筆者がこれまで見てきた改ざん被害の多くは、「誰が更新するのか決まっていなかった」ことが原因でした。ホームページを作って終わりにせず、保守の役割分担を書き出しておくことをおすすめします。

AIで脆弱性が見つかる時代の備え

報道によると、今回の脆弱性は研究者がAIのモデルを使って発見したとされています。AIを使えば、これまで見つけにくかった欠陥が短い期間で見つかるようになり、修正版の公開から攻撃までの時間も短くなる傾向があります。

これからは「年に何回か更新すればよい」という考え方では追いつかない場面が増えるはずです。更新を自動化できるところは自動化し、手作業が必要な部分は担当者と手順を決めておくことが、中小企業にとって現実的な備えになります。

よくある質問(FAQ)

経営者の質問に相談員が答える相談窓口のイラスト

Q. WordPressを最新にしていれば対策は不要ですか?

いいえ、PHP2Shellは、WordPressではなく、その土台であるPHPの問題です。WordPress本体やプラグインを更新しても、サーバーのPHPの版は変わりません。

サイトヘルスでサーバーの「PHPのバージョン」を確認し、修正版かどうか、またはサーバー事業者が修正を適用済みかどうかを確かめてください。

Q. 共用レンタルサーバーなら何もしなくてよいですか?

PHPそのものの修正は、基本的にサーバー事業者が行います。ただし、古い版を選んでいる場合に切り替えを求められたり、再開後に追加の作業をお願いされたりすることがあります。

事業者の告知を確認し、自社サイトが使っている版に修正が入っているかを確かめるところまでは、利用者側で行ってください。

Q. PHPのバージョンを上げるとサイトが壊れることはありますか?

あります。古いテーマやプラグインが新しいPHPに対応しておらず、表示が崩れたりエラーになったりすることがあります。

切り替える前にバックアップを取り、切り替え後は主要なページとフォームを実際に確認してください。問題が出たら、いったん元の版に戻して原因を調べるのが安全です。

Q. サイトを1日止めると検索順位は下がりますか?

503を正しく返し、1〜2日程度で再開するのであれば、Googleの公式の案内に沿った止め方になります。ただし、順位への影響や回復の時期を確約することはできません。

止める場合も、robots.txtには503を返さないこと、タイムアウトや404のまま放置しないことを守ってください。

Q. 侵入されたかどうか自分で判断できますか?

uploadsフォルダの不審なPHPファイルや、見覚えのない管理者ユーザーなど、一般的な目安は自分でも確認できます。ただし、何も見つからないことが侵入されていない証明にはなりません。

少しでも気になる点があれば、サーバー事業者や制作会社、セキュリティの専門家に相談してください。

まとめ|PHP2Shellは「PHPの版」の確認から

チェックリストを確認してサイトの安全を確かめた担当者のイラスト

2026年10月21日に公表されたPHP2Shellは、PHPそのものにある重大な脆弱性で、WordPressで作られた多くの中小企業のサイトも対象になりえます。修正版はPHP 8.5.12、8.4.27、8.3.36、8.2.35です。

やることは、サイトヘルスやサーバーの管理画面でPHPの版を確認し、サーバー事業者の告知で修正の状況を確かめることです。PHP 8.1以前を使っている場合は、バックアップを取ったうえで8.3以上への切り替えを検討してください。

あわせて、見覚えのないPHPファイルや管理者ユーザーがないかを確認し、サイトを止める場合は503を返して1〜2日を目安に再開します。PHP 8.2も2026年12月31日でサポートが終わるため、年内の切り替え計画も立てておきましょう。

まずは今日、WordPressの管理画面で「ツール」→「サイトヘルス」→「情報」を開き、PHPのバージョンの数字を確かめるところから始めてみてください。

ホームページのセキュリティ対策のご相談はアクセス・リンクへ

株式会社アクセス・リンクでは、全日本SEO協会認定SEOコンサルタントの三田健司が、WordPressで作られた中小企業のホームページの制作・保守とSEO対策をお手伝いしています。PHPの版の確認や切り替え、更新後の表示チェックなど、専門用語がわからない方にも一つずつご説明しながら進めます。

「自社のサイトがどのPHPで動いているか分からない」「保守の担当が決まっていない」といった段階からでもご相談いただけます。検索の評価を落とさないサイトの止め方や、再開後のSearch Consoleの確認もあわせてご案内します。

お問い合わせはこちらのお問い合わせフォームからお気軽にどうぞ。

関連記事

コメント

この記事へのコメントはありません。

TOP