2026年10月21日、PHP開発チームは、認証なしでリモートからコードを実行されるおそれがある2件の重大な脆弱性を修正するセキュリティアップデートを公開しました。いずれもCVSS v4.0で9.2と評価されており、WebサイトやWebアプリケーションを運用する管理者に、速やかな更新を呼びかけています。
今回の修正で注目したいのは、アプリケーションの入力チェックではなく、PHP本体のメモリ管理やリクエスト処理に関わる問題が対象になっている点です。
メモリ不足時の処理と、解放済みメモリの参照を修正
今回修正された脆弱性は、CVE-2026-109618とCVE-2026-109619の2件です。
CVE-2026-109618は、メモリ不足(OOM)が発生した際の処理に関する問題です。PHP内部のリクエストデータが完全に初期化される前に処理が中断されると、その後の後始末で不完全なデータが正常なものとして扱われる可能性があります。
今回のパッチは、このような異常な処理中断に伴う内部状態の不整合を修正し、メモリ不足を利用した攻撃につながる経路を塞ぐものです。
もう1件のCVE-2026-109619は、解放済みメモリに関連する内部状態が残ってしまう問題です。
リクエストの処理に使われたメモリが解放された後も、PHP内部の状態が古い情報を保持している場合があります。同じワーカープロセスが次のリクエストを処理するとき、その状態が正常に初期化される前に参照されることで、攻撃につながるおそれがあります。
こちらは、リクエスト間で不正な内部状態が引き継がれないようにすることが修正の要点です。
いずれもPHPの実行環境そのものに関わる問題で、悪用された場合には、認証されていない攻撃者によるリモートコード実行につながる可能性があります。
修正版はPHP 8.2~8.5系で公開
今回のセキュリティアップデートで公開された修正版は、次の4つです。
- PHP 8.5.12
- PHP 8.4.27
- PHP 8.3.36
- PHP 8.2.35
PHP-FPM、Apacheのmod_php、php-cgi、FrankenPHP、LiteSpeedなど、Webリクエストを処理するPHP環境が影響を受けます。特にmod_phpについては、アプリケーションのコードが実行される前に攻撃を引き起こせることが確認されています。
PHP公式は、設定変更などの暫定対策だけでは完全に安全な状態にできず、修正版への更新が必要だとしています。
PHP 7系や5系など、古い環境はどうなるのか
今回の脆弱性は、PHP 8系の新しいバージョンだけの問題ではありません。PHP公式の案内では、PHP 5.4から8.5.11までのバージョンが影響対象とされています。
一方、PHP 8.1以前は公式の通常サポートが終了しており、すべての旧バージョンに修正が提供されるわけではありません。
今回の深刻度を踏まえ、PHP 7.4、8.0、8.1については、ソースコードからビルドする利用者などに向けた最小限の修正バックポートも用意されました。ただし、PHP 5系まで含めて公式の修正版が提供されたという意味ではありません。Linuxディストリビューションや長期サポート事業者が独自に修正を提供している場合は、各提供元の案内を確認する必要があります。
古いPHPを使い続けているシステムでは、今回のパッチを適用できるかどうかだけでなく、現行バージョンへの移行も課題になります。
PHP 5系から8系への移行では、削除された機能や仕様変更への対応、古いライブラリの交換、動作確認などが必要になる場合があります。長期間運用してきたシステムほど、PHP本体の更新だけでは済まず、アプリケーション側のコード修正に相当な工数がかかる可能性があります。
設定変更は暫定対策、根本的な解決はアップデート
PHP公式は、すぐに更新できない場合の緩和策も案内しています。
メモリ不足に関する脆弱性については、PHPのメモリ制限設定やPOSTリクエストのサイズ制限などを見直す方法があります。もう一方の脆弱性については、セッションのアップロード進捗機能を無効にする設定などが示されています。
ただし、これらは特定の攻撃経路を制限するための措置であり、脆弱性そのものを修正するものではありません。
PHPを利用しているWebサイトでは、PHPの実際の実行バージョンを確認し、サーバー会社やパッケージ提供元が修正を適用しているか確認することが重要です。WordPressなどのCMSを最新版に更新していても、サーバー側のPHPが脆弱なままであれば、それだけで問題が解消されるわけではありません。
今回の問題は、古い実行環境を維持するリスクと、現行環境へ移行する負担の両方を浮き彫りにしています。セキュリティ更新を継続して受けられない環境では、個別の脆弱性に対応するだけでなく、システム全体の更新計画を考える必要があります。














