SECURITY TOPIC · 2026.10.23

【2026年10月】PHPに重大な脆弱性「PHP2Shell」|影響範囲と対応方法

2026年10月21日、PHP本体に認証なしでリモートコード実行(RCE)につながり得る重大な脆弱性2件が公表されました。Webサイトの管理者や開発者は、実際に動作しているPHPのバージョンと修正状況を確認する必要があります。

公開・確認:2026年10月23日|対象:Webサイト運営者・PHP開発者・IT学習者|出典:PHP公式、Cloudflare、英国NCSC

最初に確認:PHP 8.5.12/8.4.27/8.3.36/8.2.35には修正が含まれています。これらより古い同系列を利用している場合は、配布元のセキュリティ更新状況を確認し、速やかに対応してください。Linuxディストリビューション等ではバックポートによりバージョン表示だけでは判断できない場合があります。

PHP2Shellとは?何が危険なのか

PHP2Shellは、PHPの内部処理に関する2件の脆弱性を指す通称です。CVE-2026-109618はメモリ不足時の処理に、CVE-2026-109619はリクエスト間に残った内部状態の扱いに問題があり、条件によって認証していない攻撃者がサーバー上でコードを実行できる可能性があります。

「リモートコード実行(RCE)」とは、離れた場所からサーバーに意図しない処理を実行させられることです。情報漏えいやサービス停止などのリスクにつながります。ただし、脆弱性が存在することと、個別のサイトで被害が確認されたことは別です。

どのPHPが影響を受ける?

PHP公式は、Webリクエストを処理するPHP環境(PHP-FPM、Apacheのmod_php、php-cgi、FrankenPHP、LiteSpeedなど)を対象に注意喚起しています。WordPressなどのアプリケーションも、背後で稼働するPHP環境の確認が必要です。

PHP系列修正済みバージョン対応の考え方
8.58.5.128.5.12以降またはベンダー提供の修正を適用
8.48.4.278.4.27以降またはベンダー提供の修正を適用
8.38.3.368.3.36以降またはベンダー提供の修正を適用
8.28.2.358.2.35以降またはベンダー提供の修正を適用
8.1以前PHP公式による更新対象外サポート対象版への移行、またはOS/ベンダーのバックポート確認

注:表は2026年10月23日に確認したPHP公式アドバイザリに基づきます。OSベンダーが修正をバックポートする場合、表示上のバージョンが上表より古くても修正済みの場合があります。

実務での確認・更新手順

① 稼働環境とバージョンを調べる

まずホスティング会社の管理画面やサーバーの構成管理情報で、実際にWebリクエストを処理しているPHPを確認します。ターミナルを利用できる場合は次のコマンドが手掛かりになります。

php -v

注意:このコマンドはCLI版PHPの情報です。Webサーバーが別のPHP-FPMやコンテナを使っている場合、Web側のバージョンと一致しないことがあります。外部公開した phpinfo() ページを放置しないでください。

② バックアップと更新計画を用意する

ソースコード・設定・データベースのバックアップを取り、復旧手順を確認します。影響を受けるPHP環境を洗い出し、ステージング環境で互換性を検証してから、可能な限り速やかに更新します。

③ 正規の配布元から修正を適用する

公式PHP、OSパッケージ管理ツール、コンテナイメージ、ホスティング会社など、現在の導入方式に対応した配布元から修正版を適用します。独自にビルドしている場合は公式のセキュリティ情報を確認してください。

④ 実際のWeb実行環境を再確認する

必要に応じてPHP-FPMやWebサーバー、コンテナを再起動し、アプリケーションの主要機能、エラーログ、Web側のPHPバージョンを確認します。更新前後に不審なアクセスや異常がないか、運用ルールに従ってログも確認しましょう。

⑤ WAFは補助対策、更新が基本

Cloudflareなどは関連する防御策を案内していますが、WAFだけで完全に防げると考えるべきではありません。更新までの一時的なリスク低減策として利用し、修正の適用を優先してください。

よくある疑問

WordPressを使っている場合は?

WordPress本体やプラグインの更新だけでなく、サーバーで動くPHP本体も確認してください。レンタルサーバーの場合は、事業者の告知と管理画面を確認します。

Cloudflare Workersのサイトにも関係ある?

通常のCloudflare WorkersはPHPランタイムを前提としていません。PHPを実行していないWorkersのみのサイトは、今回のPHP本体の脆弱性による直接の対象ではありません。ただし別途PHP製のAPIや管理画面を運用している場合は、その環境を確認してください。

セキュリティソフトを入れれば解決する?

今回の問題はサーバー側のPHP実行環境に関係します。個人向けのウイルス対策ソフトを購入しても、PHP本体の修正を代替できません。

理解度チェック

実務で迷いやすいポイントを確認しましょう。

Q1. php -v の結果だけでWebサーバー側も安全と判断できる?
答えと解説

いいえ。CLI版とWeb実行環境のPHPが異なることがあります。稼働中のPHP-FPMやコンテナも確認します。

Q2. PHP 8.1以前の環境では何を確認する?
答えと解説

PHP公式のサポート対象外です。サポート版への移行、またはベンダーが修正をバックポートしているか確認します。

Q3. WAFがある場合、PHP更新は不要?
答えと解説

いいえ。WAFは補助対策であり、修正済みPHPの適用が基本です。

関連する学習記事

サイバー攻撃とは?種類・手口・対策 / 情報セキュリティの基礎 / セキュリティ演習 / SQLの基礎と安全な使い方

一次情報・参考資料

本記事は一般的な学習・注意喚起を目的としています。実際の更新は利用中のOS、ホスティング、構成に合わせて実施してください。