2026年10月21日、PHPは、認証なしでリモートコード実行につながるおそれのある重大な脆弱性2件を公表しました。同日、プロジェクトは8.5、8.4、8.3、8.2の各ブランチ向けに修正を公開し、ユーザーに速やかな更新を推奨しました。PHP-FPM、Apache mod_php、php-cgi、FrankenPHP、LiteSpeedなど、Webリクエストを処理する環境が影響を受ける可能性があります。PHPの発表によると、これらの構成が対象です。

修正版はPHP 8.5.12、8.4.27、8.3.36、8.2.35です。これらのリリースでは、メモリ不足時の状態破損に関連するCVE-2026-109618と、あるリクエストの状態がワーカープロセス内に残り、次のリクエストの処理で使われる可能性があるCVE-2026-109619が修正されています。記載されたバージョンより古いバージョンが影響を受けます。PHP 8.1以前のブランチについては、プロジェクトによる独自の更新提供は終了しています。該当システムの管理者は、ディストリビューションまたはLTSサポート提供元が修正を提供しているか確認してください。
Webリクエストのライフサイクルに関する2つの不具合
CVE-2026-109618では、内部データの初期化が完了する前に、メモリ不足でリクエスト処理が中断される可能性があります。その後、PHPが不正な状態にアクセスするおそれがあります。開発者はアドバイザリで、multipartリクエストやメモリ上限の超過を含むシナリオを説明しています。Apache mod_phpでは、アプリケーションコードの実行前に問題が発生するシナリオが確認されており、PHPはこの構成でのリスクがより高いとも指摘しています。
CVE-2026-109619は、リクエスト間でワーカープロセスに保持される状態に影響します。データのクリーンアップ前に処理がエラーで終了すると、直前のリクエストのメモリが解放されても、そのメモリへの参照が残る場合があります。同じプロセスに割り当てられた次のリクエストが、通常の初期化より前に古い状態へアクセスする可能性があります。プロジェクトのアドバイザリでは、早期の診断処理やファイルアップロードの進捗処理を通じた、確認済みの発生経路が説明されています。個々の経路が該当するかどうかは、構成、アプリケーション、使用する拡張機能によって異なります。
どちらの脆弱性も、CVSS 4.0で9.2の評価を受けています。PHPによると、確認されている影響には、Webワーカーの権限でのコード実行が含まれます。メモリ不足に関する不具合では、mod_phpに対する完全なHTTPシナリオがアドバイザリで確認されています。一方、PHP-FPMについては、コード分析と影響を受ける条件が説明されています。具体的な環境を評価する際は、この違いを考慮してください。
管理者が確認すべきこと
まず、実際にWebトラフィックを処理しているPHPのバージョンを特定してください。1台のサーバー上でCLI、FPM、Apache向けの別々のビルドが稼働している場合があり、コンテナやクラスターのノードも個別に更新する必要があります。サポート対象の各ブランチに、該当する修正版、またはパッチ適用が確認された提供元のパッケージをインストールしてください。その後、すべてのPHPワーカーを再起動し、再起動後のバージョンを確認します。ファイルを置き換えても再起動しなければ、古いプロセスが稼働し続けます。
PHP 8.1以前については、サポート状況と、ディストリビューションまたはLTSプロバイダーがバックポート修正を提供しているかを確認してください。該当するパッケージがない場合は、サポート対象のブランチへの移行を計画してください。PHPによると、Linuxディストリビューションの提供元にはパッチが事前に配布されています。提供元のパッケージのバージョン番号はPHP公式リリースと異なる場合があるため、修正が含まれているかどうかを示す情報を確認してください。
一時的な設定変更やリクエストのフィルタリングによって、一部の攻撃経路を抑えられる可能性はあります。しかし、プロジェクトは両方の問題を完全に解消する方法は更新のみだとしています。チームが優先すべき実務は、すべてのWebワーカーの棚卸し、修正版パッケージのインストール、プロセスの再起動、各ノードでの結果確認です。Webサーバーの設定だけに頼るのではなく、これらの手順によって確認済みの脆弱性を解消できます。