PHP2Shellは「更新して終わり」ではない。WordPress運営者・Web制作者が今やるべき対応と今後の備え

この記事を約4分で解説
2026年10月21日に修正版が公開されたPHPの重大な脆弱性「PHP2Shell」(CVE-2026-109618/CVE-2026-109619)。国内の主要なレンタルサーバーでは、10月22日までに多くの会社が修正を適用しました。
「サーバー会社が対応してくれたから、もう安心」と思っている方も多いかもしれません。しかし今回の脆弱性は、修正版が出る前から攻撃が始まっていたという報告があります。修正を当てる前に入り込まれていた場合、更新しても、入り込んだ不正なプログラムはサーバーに残ったままです。
この記事では、修正を適用した「その後」にやるべきことと、今後同じようなことが起きたときに慌てないための備えを、WordPressサイトの運営者とWeb制作者の立場に分けて整理します。
PHP2Shellの概要や、PHPのバージョンの確認方法、修正版の一覧は「PHPの重大な脆弱性「PHP2Shell」とは?WordPressサイトで今すぐ確認すべきことと対処法」で解説しています。この記事は2026年10月25日時点の公開情報をもとに作成しています。
まず結論:立場別にやること
WordPressサイトの運営者
- サーバー会社のお知らせで、自分のサイトに修正が適用されたかを確認する
- 見覚えのない管理者ユーザーやファイルがないか、侵入の痕跡をチェックする
- 問題がなければ、その時点のバックアップを保存しておく
- PHP 8.2以前を使っている場合は、年内にPHP 8.3以降へ移行する計画を立てる
Web制作者
- 担当しているサイトを一覧にして、サーバーとPHPのバージョンを把握する
- 自分で管理しているVPSやサーバーを最優先で更新し、PHPのプロセスを再起動する
- クライアントに状況を連絡する(保守契約がないサイトも含めて)
- ログやファイルを確認し、対応した内容を記録に残す
「侵入されていないか自分では判断できない」「担当サイトが多くて手が回らない」という方へ
C-TechLabでは、PHP2Shellへの対応状況の確認や、侵入の痕跡チェック、PHPのバージョンアップを代行しています。制作会社さまからのご相談もお受けしています。
なぜ「更新して終わり」ではないのか
PHP2Shellは、ログインなどの認証なしに、外部から細工した通信を送るだけで、サーバー上でプログラムを実行されるおそれがある脆弱性です。WordPressの処理が始まる前の段階で攻撃が成立しうるため、WordPress本体やプラグインの更新、セキュリティ系のプラグインでは防げません。
攻撃の状況について、セキュリティ各社からは次のような報告が出ています(2026年10月25日時点)。
- SophosやDatadogによると、Amazonの脅威インテリジェンスが、修正版公開の4日前にあたる10月17日には、すでに攻撃の試みを観測していた
- watchTowrは、10月21日以降、実際の攻撃(悪用)を観測しているとしている
- 一方で、攻撃が成功した被害事例が確認されたという公式な発表は、まだ見当たらない。どこまで被害が出ているのかは、各社の見解が分かれている
つまり、10月17日から修正が適用されるまでの間は、攻撃を受けていた可能性があるということです。「被害が確認された」とは言い切れない段階ですが、だからこそ自分のサイトに痕跡がないかを一度確認しておくことが大切です。
WordPressサイトの運営者がやること
1. 修正が適用されたかを確認する
レンタルサーバーをお使いの場合は、サーバー会社のお知らせやメールで、PHP2Shell(CVE-2026-109618/CVE-2026-109619)への対応が完了しているかを確認しましょう。
国内のレンタルサーバーの中には、PHPのバージョン番号を変えずに修正を当てている会社もあります。WordPressの「サイトヘルス」に表示されるバージョンが古いままでも、修正済みのことがあります。判断に迷う場合は、サーバー会社に問い合わせるのが確実です。
また、PHP 8.1以前を使っている場合、サーバー会社が独自に修正を当てていても、それは応急処置です。多くのサーバー会社が、PHP 8.2以上(できれば8.3以上)への切り替えを呼びかけています。
2. 侵入の痕跡がないかチェックする
専門知識がなくても確認できる項目を挙げます。10月17日以降に変化がないかを意識して見てください。
- 管理画面の「ユーザー」一覧に、見覚えのない管理者ユーザーが増えていないか
- サイトの見た目に変化がないか。見覚えのないページや広告が表示されたり、スマホで開くと別のサイトに飛ばされたりしないか
- Googleで「site:自分のドメイン」と検索して、見覚えのないページ(海外の通販サイトや怪しい商品の紹介など)が出てこないか
- Google Search Consoleの「セキュリティの問題」に警告が出ていないか
- サーバー会社のウイルスチェックや改ざん検知の機能があれば、実行して結果を確認する
サーバーのファイルを見られる方は、次の点も確認しましょう。
- 画像などを保存する
wp-content/uploadsフォルダに、.phpファイルが置かれていないか(通常、このフォルダにPHPのファイルは入りません) - 公開フォルダや一時フォルダに、見覚えのない、最近作られたPHPファイルがないか
- サーバーの定期実行(cron)の設定に、見覚えのないものが追加されていないか
3. 怪しいものを見つけたら
不審なユーザーやファイルを見つけた場合は、次の順番で対応します。
- 慌ててファイルを削除しない。削除すると、何が起きたのかを調べる手がかりが消えてしまいます。まずは現状のバックアップを取る
- サーバー会社や専門家に相談する
- パスワードをすべて変更する(WordPressの管理者、サーバーの管理画面、FTP、データベース)
- 復旧は、侵入される前のきれいなバックアップから行う。不審なファイルを消しただけでは、別の場所に仕掛けられた不正なプログラムが残っていることがあります
お問い合わせフォームなどで個人情報を扱っているサイトの場合は、情報漏えいの可能性も含めて、早めに専門家へ相談してください。
4. 問題がなければ、バックアップを保存する
チェックして問題がなければ、その時点のサイト全体(ファイルとデータベース)のバックアップを取り、普段のバックアップとは別に保存しておきましょう。今後、もし問題が見つかったときに「この時点まではきれいだった」と戻れる場所になります。
Web制作者がやること
1. 担当サイトを一覧にする
まずは、これまでに制作・管理してきたサイトを一覧にします。最低限、次の項目を整理しておくと、優先順位が付けやすくなります。
| 項目 | 確認する内容 |
|---|---|
| サーバー | レンタルサーバー(会社名)/VPS/クラウドなど |
| PHPのバージョン | 8.5/8.4/8.3/8.2/8.1以前 |
| PHPの動かし方 | mod_php(apache2handler)/PHP-FPMなど |
| 管理者 | サーバーの更新は誰が担当しているか(自社/クライアント/サーバー会社) |
| 契約 | 保守契約の有無と範囲 |
| 連絡先 | クライアントの担当者 |
2. 優先順位を付けて対応する
次のようなサイトほど、優先して対応します。
- 自社やクライアントが自分で管理しているVPS・サーバー(サーバー会社が更新してくれないため)
- mod_phpで動いているサーバー(WordPressの処理が始まる前に攻撃が成立しうるため、最もリスクが高いとされています)
- PHP 8.1以前で動いているサイト
- 個人情報を扱っているサイト
自分で管理しているサーバーは、PHPを修正版(8.5.12/8.4.27/8.3.36/8.2.35)に更新したうえで、PHP-FPMやApacheなど、PHPを動かしているプロセスを必ず再起動します。Dockerなどのコンテナで動かしている場合は、イメージを作り直して入れ替えます。
すぐに更新できない場合の一時的な緩和策として、PHPの設定で session.upload_progress.enabled を 0 にする方法が紹介されています。CVE-2026-109619の攻撃経路の一つをふさげますが、完全な対策ではありません。PHP公式も、設定変更だけで完全に防ぐ方法はないとしています。あくまで更新までのつなぎと考えてください。
3. クライアントに連絡する
保守契約を結んでいるサイトはもちろん、契約がないサイトのクライアントにも、状況を知らせておくことをおすすめします。クライアントは、PHPの脆弱性のニュースを見ても「自分のサイトに関係があるのか」が判断できません。
連絡では、専門用語を避けて、次の点を伝えると親切です。
- PHPに重大な脆弱性が見つかり、WordPressのサイトも対象になること
- そのサイトの現在の状況(サーバー会社が対応済み/こちらで対応済み/対応が必要)
- 対応が必要な場合は、作業の内容・費用・スケジュール
- PHP 8.2以前を使っている場合は、サポート期限と、バージョンアップが必要になること
逆に、サイトの運営者の方が制作会社やサーバー会社に確認するときは、「PHPの対応を制作会社・サーバー会社に依頼するときの文例テンプレート」の文例がそのまま使えます。
4. ログを確認し、対応を記録する
自分で管理しているサーバーでは、10月17日以降のログを確認しましょう。セキュリティ各社は、次のような点を攻撃の手がかりとして挙げています。
- PHPのエラーログに、
Unknown on line 0を含むメモリ不足のエラーが出ていないか - Apacheのエラーログに、プロセスの異常終了(セグメンテーション違反)が増えていないか
- アクセスログに、通常はファイルを受け付けないURLへの大きなPOSTリクエスト(
PHP_SESSION_UPLOAD_PROGRESSという項目を含むものなど)が集中していないか - WebサーバーやPHPのプロセスから、シェルやダウンロード用のコマンドが起動されていないか
確認した日時・内容・結果は、記録として残しておきましょう。クライアントへの報告に使えるほか、あとから問題が見つかったときにも役立ちます。
今後やるべきこと:次の「PHP2Shell」に備える
今回のような重大な脆弱性は、PHPに限らず、これからも必ず見つかります。次に起きたときに慌てないよう、この機会に体制を見直しておきましょう。
PHP 8.2を使っているなら、年内にバージョンアップを
PHP 8.2の公式サポートは2026年12月31日で終了します。今回は8.2にも修正版が出ましたが、来年以降に同じような問題が起きても、8.2には修正が提供されません。
バージョンアップには、プラグインやテーマの対応確認、テスト環境での動作確認が必要です。年末は作業が集中しやすいため、今のうちに計画を立てて、PHP 8.3以降へ移行しておくことをおすすめします。
「誰が更新するのか」を決めておく
今回の件で多かったのが、「サイトは制作会社に作ってもらったが、サーバーの更新は誰の担当か分からない」というケースです。
- WordPress本体・プラグイン・テーマの更新は誰が行うのか
- PHPのバージョンアップは誰が判断し、誰が作業するのか
- 緊急時の連絡は、誰から誰にするのか
運営者と制作者の間で、こうした役割分担を保守契約などではっきりさせておくと、いざというときに対応が遅れません。
バックアップを取り、戻せることを確認する
バックアップは「取っている」だけでは不十分です。いざというときに本当に元に戻せるかを、一度テスト環境などで確認しておきましょう。サーバー会社の自動バックアップがある場合も、何日分を保存しているのか、どうやって戻すのかを把握しておくと安心です。
情報を受け取れるようにしておく
今回、国内のレンタルサーバー各社は、修正の適用状況をお知らせやメールで発信していました。サーバー会社からのメールが届くアドレスを、きちんと確認できるものにしておきましょう。あわせて、IPA(情報処理推進機構)の重要なセキュリティ情報なども、定期的に確認する習慣をつけておくと安心です。
使っていないものを減らす
使っていないプラグインやテーマ、放置されたテスト用のサイトは、更新されないまま残りがちで、攻撃の入口になりやすい部分です。不要なものは削除して、管理する対象そのものを減らすことも、大切なセキュリティ対策です。
「静的サイト」という選択肢も
更新頻度が高くない会社紹介のサイトであれば、PHPやデータベースを使わずにページを表示する静的サイトという作り方もあります。PHPが動いていないため、今回のようなPHPの脆弱性の影響を受けません。サイトのリニューアルを検討している場合は、選択肢の一つとして考えてみてください。
C-TechLabにできること
C-TechLabでは、WordPressサイトの運用保守やPHPのバージョンアップを、専門サービス「となりのWeb屋さん」としてお引き受けしています。
- PHP2Shellへの対応状況の確認:お使いのサーバーで修正が適用済みかどうかを確認します
- 侵入の痕跡チェック:不審なユーザーやファイルがないかを確認し、見つかった場合は復旧までご相談に乗ります
- PHPバージョンアップ対応:プラグイン・テーマの対応状況を事前に確認し、バックアップを取ったうえでPHPを切り替えます
- 月額の運用保守:WordPress本体・プラグインの更新やバックアップを継続して行い、今回のような問題にもすばやく対応します
- 制作会社さまの保守のお手伝い:担当サイトが多く手が回らない場合の、確認作業やバージョンアップの代行もご相談ください
セキュリティ面を重視したサイトのリニューアルや、静的サイトでの制作については、ホームページ制作のページもご覧ください。「何から手をつければいいか分からない」という段階でも大丈夫です。代表エンジニアが直接、状況を伺います。
よくある質問
PHP2Shellはサーバー会社が修正してくれれば対応は終わりですか?
いいえ、修正の適用だけで終わりではありません。PHP2Shell(CVE-2026-109618/CVE-2026-109619)は、修正版が公開された2026年10月21日の4日前にあたる10月17日には、すでに攻撃の試みが観測されていたと報告されています。修正前に入り込まれていた場合、更新しても不正なプログラムはサーバーに残ったままのため、侵入の痕跡がないかを確認することが大切です。
WordPressサイトが侵入されていないか、どうやって確認すればよいですか?
10月17日以降の変化を意識して、管理画面のユーザー一覧に見覚えのない管理者ユーザーがいないか、サイトの見た目の変化や別サイトへの転送がないか、Googleで「site:自分のドメイン」と検索して見覚えのないページが出ないか、Google Search Consoleの「セキュリティの問題」に警告がないかを確認します。サーバーのファイルを見られる場合は、wp-content/uploadsフォルダにPHPファイルが置かれていないかも確認しましょう。
不審なユーザーやファイルを見つけたらどうすればよいですか?
慌てて削除せず、まず現状のバックアップを取ってから、サーバー会社や専門家に相談してください。そのうえでWordPressの管理者、サーバーの管理画面、FTP、データベースのパスワードをすべて変更し、侵入される前のきれいなバックアップから復旧します。不審なファイルを消しただけでは、別の場所に仕掛けられた不正なプログラムが残っていることがあるためです。
PHP 8.2のまま使い続けても大丈夫ですか?
いいえ、年内にPHP 8.3以降へ移行する計画を立てることをおすすめします。PHP 8.2の公式サポートは2026年12月31日で終了し、今回は8.2にも修正版が出ましたが、来年以降に同じような問題が起きても8.2には修正が提供されません。
PHP2Shellの痕跡チェックやPHPのバージョンアップを任せることはできますか?
はい、C-TechLabでは専門サービス「となりのWeb屋さん」として、PHP2Shellへの対応状況の確認、侵入の痕跡チェック、PHPのバージョンアップ、月額の運用保守をお引き受けしています。担当サイトが多く手が回らない制作会社さまからの、確認作業やバージョンアップ代行のご相談もお受けしています。
参考情報
- IPA(情報処理推進機構)「PHPの脆弱性対策について(CVE-2026-109618、CVE-2026-109619:PHP2shell)」(2026年10月22日)
- CISA「Critical Vulnerabilities in PHP Require Immediate Patching」(2026年10月21日、23日更新)
- PHP公式「Supported Versions」
- Datadog Security Labs「PHP2Shell - Critical vulnerabilities in PHP: detection, analysis, and remediation」
- watchTowr「PHP2Shell FAQ: CVE-2026-109618 & CVE-2026-109619」
- Sophos「Advisory: PHP2Shell Vulnerabilities (CVE-2026-109618, CVE-2026-109619)」
- Bitdefender「Technical Advisory: PHP2Shell Pre-Auth RCE」
- エックスサーバーのお知らせ(PHP2Shellへの対応)
- さくらインターネットのお知らせ(PHP2Shellへの対応)
- ロリポップ!のお知らせ(PHP2Shellへの対応)


