PHPの​重大脆弱性​「php2shell」とは​──WordPress運営者が​今確認すべきこと

PHPの重大脆弱性「php2shell」は修正版が公開済みです。WordPressの更新との違い、サーバー会社への確認事項、対応完了を確かめる方法を解説します。

甲斐ショウジ甲斐ショウジ
CAG主宰/合同会社ATK CAIO(最高AI責任者)
技術11分で読めます
技術PHPの重大脆弱性「php2shell」とは──WordPress運営者が今確認すべきこと

PHPの重大脆弱性「php2shell」に対する修正版は、すでに公開されています。WordPressを使うサイトでは、サーバーで動くPHPの修正状況を確認してください。 WordPressの管理画面で「更新はありません」と表示されていても、今回の対応が終わったとは判断できません。

2026年10月22日時点、PHP公式は修正版の8.5.12・8.4.27・8.3.36・8.2.35を公開し、速やかな更新を強く推奨しています。[1] 自社サイトの確認先、制作会社への問い合わせ方、対応完了を確かめる方法を整理します。

この記事は公式発表に基づく解説です。個別サイトの被害調査や、攻撃の再現実験を行った記事ではありません。

PHPの更新を確認する机とノートパソコンのイメージ
PHPの更新確認を表すAI生成イメージ。実際の管理画面や調査結果ではありません。

01 PHPの​重大脆弱性​「php2shell」で​何が​起きたのか

サイトの処理を支えるPHPサイトの処理を支えるPHPWebからの通信閲覧・入力などWebサーバー通信を処理へ渡すPHPで処理今回の修正対象サイトの処理を支えるPHPサイトの処理を支えるPHPWebからの通信閲覧・入力などWebサーバー通信を処理へ渡すPHPで処理今回の修正対象
仕組みの模式図。実際に攻撃を再現した図ではありません。修正対象のPHPへ通信が届く経路を確認します。

PHPは、サーバー上でプログラムを動かすための言語です。WordPressなどのシステムが、記事を取り出したり、入力内容を処理したりするときに使います。今回問題になったのは、そのPHP自体の不具合です。

公表されたのは、CVE-2026-109618とCVE-2026-109619の2件。CVEは、脆弱性を識別するための共通番号です。どちらもメモリの扱いに関係し、条件がそろうと、外部からサーバーに意図しない処理を実行させられる可能性があります。専門用語では「リモートコード実行(RCE)」と呼びます。[2][3]

PHP公式は、PHP-FPMやApacheのmod_phpなど、Webからのリクエストを処理するPHP環境を注意対象にしています。特にmod_phpでは、ログインせずに送ったリクエストで、サイト固有の処理が始まる前に攻撃が成立する例が確認されています。「管理画面にはパスワードがある」という理由だけでは、今回の問題への備えにはなりません。[1]

一方、PHPを使っているという事実だけで、そのサイトがすでに侵入されたと分かるわけでもありません。影響を受ける可能性、攻撃を受けた痕跡、実際の被害は、それぞれ調査が必要です。まずは修正の適用状況を確かめ、被害が疑われる場合は調査を並行させます。

02 WordPressの​更新と、​PHPの​更新は​別に​確認する

更新する層を分けて確認更新する層を分けて確認WordPress本体記事の管理・表示テーマ・プラグイン見た目と追加機能PHPサーバーで実行更新する層を分けて確認更新する層を分けて確認WordPress本体記事の管理・表示テーマ・プラグイン見た目と追加機能PHPサーバーで実行
WordPress本体やプラグインの更新状態と、サーバーのPHP修正状況を分けて確認します。

WordPressの管理画面にある「更新」は、WordPress本体やテーマ、プラグインの更新を扱います。PHPは、それらを動かすサーバー側のソフトウェアです。保守の担当や更新方法が分かれていることがあります。

確認するもの 役割 今回の確認で見ること
WordPress本体 記事の管理・表示などを担う 通常の保守を継続。PHPの修正確認は別に行う
テーマ・プラグイン 見た目や機能を追加する 更新状況と、PHP更新後の動作を確認する
サーバー上のPHP WordPressなどの処理を実行する 今回の2件に対する修正が反映されているか確認する

WordPress公式も、今回の問題に対するWordPressの更新は必要なく、予定もしていないと説明しています。求めているのは、ホスティング事業者からの案内を確認し、必要に応じてPHPを速やかに更新することです。[4]

PHPのバージョンは、WordPress管理画面の「ツール → サイトヘルス → 情報 → サーバー」で確認できます。[4] ただし、表示された数字だけで最終判断しないでください。 サーバー事業者が既存のバージョンへ修正を組み込む「バックポート」を提供している場合があるためです。PHP公式も、配布元や長期サポート提供元の修正パッケージを確認するよう案内しています。[1]

管理画面を開けない場合や、PHPの情報が見つからない場合は、サーバー会社または保守会社に確認します。調査のために、PHPの詳細設定を表示するページを一般公開する必要はありません。

03 自社サイトの​対象と​修正版を​確認する

系列ごとの修正版を確認系列ごとの修正版を確認PHP 8.58.5.12PHP 8.48.4.27PHP 8.38.3.36PHP 8.28.2.35系列ごとの修正版を確認系列ごとの修正版を確認PHP 8.58.5.12PHP 8.48.4.27PHP 8.38.3.36PHP 8.28.2.35
2026年10月22日時点のPHP公式リリース。バックポートを使う環境は配布元の修正情報も確認します。

2026年10月22日時点で、PHPプロジェクトが公開している今回の修正版は次のとおりです。自社で使う系列に対応する修正版、または配布元が今回の修正を含むと明示したパッケージを確認します。[1]

利用している系列 今回の修正版
PHP 8.5 8.5.12
PHP 8.4 8.4.27
PHP 8.3 8.3.36
PHP 8.2 8.2.35

PHP 8.1以前は、PHPプロジェクトの通常のサポートが終了しています。今回、7.4・8.0・8.1向けに最小限の修正ソースも提供されましたが、これで継続サポートに戻ったわけではありません。利用者は、契約している配布元の修正提供を確認するか、サポート中の版への移行を進める必要があります。[1]

誰に聞けばよいかは、契約によって変わります。次の表は確認先の目安です。制作会社とサーバー会社の間で責任範囲が分かれる場合は、連絡を取りまとめる担当者を決めてください。

サイトの管理形態 最初の確認先 確認する内容
レンタルサーバーを直接契約 サーバー会社の公式案内・サポート 自分の契約環境が対象か、修正済みか、利用者側の操作が必要か
制作・保守を会社に委託 契約先の制作会社・保守会社 PHPを管理する担当、対象サイト、対応状況と完了予定
自社でサーバーを管理 社内の運用担当 稼働中のPHP、配布元の修正、反映と動作確認の結果

対象の洗い出しでは、トップページだけを見ないようにします。同じ会社が持つ別ドメイン、サブドメイン、採用サイト、古いキャンペーンサイトなども確認します。更新が止まった小さなサイトほど、担当者が曖昧になっていることがあります。これは自社の管理対象を棚卸しする作業で、第三者のサイトを無断で検査する必要はありません。

04 ​「対応済み」を​何で​確認するか

対応完了の報告で確かめること対応完了の報告で確かめること対象どの環境か修正何を適用したか反映稼働中のPHPか動作業務機能が動くか対応完了の報告で確かめること対応完了の報告で確かめること対象どの環境か修正何を適用したか反映稼働中のPHPか動作業務機能が動くか
CAGが提案する確認手順。修正の反映と機能の動作を確認し、被害の有無は必要に応じて別途調査します。

サーバー会社のお知らせに「メンテナンス完了」とあっても、自社の契約環境がその案内の対象かを確認します。依頼した作業が終わったかを知るには、対象・修正内容・反映・動作確認の記録が必要です。次は、保守会社から報告を受ける際の確認項目です。

  • 対象:どのドメイン・サーバー・PHP環境を確認したか。
  • 修正内容:今回の2件を修正したバージョン、または修正パッケージの識別情報は何か。
  • 反映:更新後のPHPが、実際にWebの処理で使われているか。必要な再起動・切り替えを済ませたか。
  • 動作:ページ表示だけでなく、問い合わせ・ログイン・購入など、自社で必要な機能が動くか。
  • 残件:未対応の環境、停止中の機能、被害の有無について追加調査が必要な点はあるか。

バックポートがある環境では、画面上のPHPバージョンが大きく変わらない場合があります。「数字が古そうだから未対応」「数字を変えたから完了」と決めず、配布元の修正情報と実際の稼働状態を組み合わせて確認します。複数のPHPを使い分けているサーバーでは、調査に使った環境と、サイトを処理する環境が同じかも確認対象です。

制作会社・サーバー会社に送る確認文面

当社サイトについて、PHPの脆弱性CVE-2026-109618およびCVE-2026-109619への対応状況を確認したく、ご連絡しました。

対象のドメイン・契約環境、現在の稼働PHP、修正版またはバックポートの適用状況、反映後の動作確認結果を教えてください。未対応の場合は、暫定措置と対応予定もお願いします。

また、当社側で必要な操作と、被害の有無について現時点で確認できている範囲・未確認の範囲をお知らせください。

すぐに更新できない場合、PHP公式は特定の攻撃経路への露出を減らす措置を示していますが、完全な対策とはしていません。CERT-EUは、速やかに更新できない公開システムについて、公開ネットワークからの隔離を推奨しています。[1][5] サービスを止める範囲や方法は運用担当と判断し、更新と復旧の予定を利用者に案内します。

状態 確認できること 引き続き必要なこと
メンテナンス画面を表示 そのURLに案内が表示されている PHPへ届く別の経路が残っていないか、停止範囲を確認する
WAFで防御 Webへの通信を検査・遮断する仕組みで、攻撃への防御を追加している PHP自体への修正を進める
PHPを修正して反映 今回の不具合に対する修正が稼働環境に入っている 業務機能の動作と、必要に応じた侵害調査を行う

WAFは、Webアプリケーションへの通信を検査する防御の仕組みです。Cloudflareも今回の防御ルールを案内していますが、PHPの更新を推奨しています。[8] また、修正の適用は、過去の侵害がなかったことの証明にはなりません。不審な変更やアクセスが見つかった場合は、ログなどを保全して保守・セキュリティ担当に調査を依頼してください。

PHPの管理対象と確認事項を並べた画面のイメージ
保守記録の確認を表すAI生成イメージ。実際の対応完了や安全性を示すものではありません。

05 AIが​脆弱性を​発見する​時代の​サイト運用

発見から利用環境への反映まで発見から利用環境への反映まで研究者とAI問題を発見・報告PHPの保守担当者修正・リリースサイトの運用側更新・反映・確認発見から利用環境への反映まで発見から利用環境への反映まで研究者とAI問題を発見・報告PHPの保守担当者修正・リリースサイトの運用側更新・反映・確認
今回の発見にはAIが関与。PHPの保守担当者が修正を主導し、利用側では配布元と連携して更新を確認します。

今回の問題には、AIによる脆弱性の発見も関わっています。OpenAIは2026年10月21日、セキュリティ企業CalifがGPT-5.6 Solを使って重大な問題の1件を発見し、Wizも独立して2件を発見・報告したと説明しました。修正とリリースはPHPの保守担当者が主導したとしています。[6]

AIが発見を支援しても、その修正を各社のサーバーに届け、反映を確かめる作業は残ります。サイトを持つ企業が準備したいのは、自社の利用環境と担当者を把握し、緊急の更新を依頼できる状態です。

OpenAIは、PHPのバージョンを確認するツールとCodex向けスキルも公開しています。サーバーへのアクセスによる調査と、URLから公開情報を確認する方法が用意されていますが、外部からバージョンを取得できない場合があります。配布元によるバックポートも含め、判定には追加確認が必要になる場合があります。ツールの結果だけで、サイト全体の安全性を証明するものではありません。[7]

普段の保守記録には、「サイト名・PHPの管理者・保守契約・緊急連絡先・更新を承認する人」を残しておくと、次の連絡を始めやすくなります。更新後に確かめる業務機能も、問い合わせ、予約、購入など、自社のサイトに合わせて決めておきます。

今日の対応では、次の順に確認してください。

  • 自社のPHP利用環境と、その管理担当を洗い出す。
  • 今回の2件に対する修正が、稼働環境へ反映されたかを確認する。
  • 必要な機能の動作と未対応の残件を記録し、対応の窓口を決める。

出典・確認範囲

  1. PHP公式「Security advisory: Critical remote code execution vulnerabilities, update now」(2026-10-21)。修正版、対象環境、旧版向け修正、暫定措置の範囲。https://www.php.net/archive/2026.php#2026-10-21-5
  2. PHP公式セキュリティ勧告「RCE via OOM corruption」(CVE-2026-109618、2026-10-21)。https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w
  3. PHP公式セキュリティ勧告「RCE via stale global state」(CVE-2026-109619、2026-10-21)。https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp
  4. WordPress公式「Critical PHP Security Release」(2026-10-21)。PHPの更新、ホストへの確認、サイトヘルスでのバージョン確認。https://wordpress.org/news/2026/10/critical-php-security-release/
  5. CERT-EU「Critical Vulnerabilities in PHP」(Security Advisory 2026-018)。更新できない場合の公開ネットワークからの隔離を含む勧告。https://cert.europa.eu/publications/security-advisories/2026-018/
  6. OpenAI「Patch the Planet: global response coordination as agents uncover critical vulnerabilities」(2026-10-21)。発見・修正・公開に関わった組織と役割。https://openai.com/index/coordinated-disclosure-of-critical-vulnerabilities/
  7. OpenAI公式GitHub「php2shell-checker」。確認方法と結果の限界。https://github.com/openai/php2shell-checker
  8. Cloudflare公式「Cloudflare deploys protections against php2shell vulnerability」(2026-10-21)。WAFの防御とPHP更新の推奨。https://blog.cloudflare.com/php-vulnerabilities-waf-protection/

言語化できるものは、全て作る。

あなたの「作りたい」を、定価とスピードで形に。まずは無料の相談から。

制作事例を見る