2026年10月21日、PHPの開発チームは、認証なしで遠隔からコードを実行される可能性がある2件の脆弱性を修正したバージョンを公開しました。
2件を組み合わせたものは「PHP2shell」と呼ばれています。
米国CISAは10月26日(現地時間)に、両方の脆弱性を悪用が確認された脆弱性のカタログ(KEV)に追加しました。
この記事では、最初に対策を示し、続けて、脆弱性の内容、影響を受けるバージョン、PHP管理者が実施すべきことを、一次情報に基づいてまとめます。
対策
修正版へ更新する
修正版は、PHP 8.2.35、8.3.36、8.4.27、8.5.12 です。
影響を受けるバージョンの詳細は、後述の表を参照してください。
公式発表は、完全な対策は更新だけだとしています。
Linuxディストリビューションには事前にパッチが提供されているため、OSのパッケージで使っている場合は、提供元の更新を確認します。
更新後は、PHP-FPMやApacheを再起動し、すべてのワーカーが新しいバージョンで動いていることを確かめます。
すぐに更新できない場合の緩和策
次の設定は、確認された攻撃経路の一部を減らすだけで、安全になるわけではないと明記されています。
- CVE-2026-109618向けに、
memory_limit=-1をアプリケーションから上書きできない方法(FPMプールやApacheのphp_admin_valueなど)で設定する。 post_max_sizeを小さくし(アップロードがなければ8M、あれば32M)、upload_max_filesizeはそれより小さくする。RLIMIT_ASやRLIMIT_DATAでの制限は、脆弱な処理を引き起こす原因になるため使わない。- CVE-2026-109619向けに、
php.iniなどでsession.upload_progress.enabled=0を設定し、全ワーカーを再起動する(ini_set()や.user.iniでは効果がない)。 - PHP 8.5では、
fatal_error_backtraces=0を設定し、全ワーカーを再起動する。
IPAは、更新や移行までの間はアクセス制限などの暫定対策をとり、必要に応じて外部からのアクセス遮断やサービスの一時停止を判断するよう求めています。
何が起きたか
公表された脆弱性は次の2件です。
深刻度は、どちらもCritical(CVSS v4.0 基本スコア 9.2)とされています。
| CVE | 名称 | 内容(アドバイザリの要旨) |
|---|---|---|
| CVE-2026-109618 | RCE via OOM corruption | メモリ不足の処理で、リクエストの内部データが初期化の途中のまま後処理に使われる |
| CVE-2026-109619 | RCE via stale global state | 解放済みのメモリを指す内部状態が残り、同じワーカーが処理する後続のリクエストで使われる |
PHPの公式発表では、Webリクエストを処理するすべてのPHP環境が対象とされています。
PHP-FPM、Apacheのmod_php、php-cgi、FrankenPHP、LiteSpeedが例として挙げられています。
中でもmod_phpの危険度が最も高く、アプリケーションのコードが動く前に攻撃が成立する例が示されたと書かれています。
IPAは、国内での被害事例は把握していないとしています。
影響を受けるバージョンと修正版
| 系列 | 影響を受けるバージョン | 修正版 |
|---|---|---|
| PHP 8.2 | 8.2.35 より前 | 8.2.35 |
| PHP 8.3 | 8.3.36 より前 | 8.3.36 |
| PHP 8.4 | 8.4.27 より前 | 8.4.27 |
| PHP 8.5 | 8.5.12 より前 | 8.5.12 |
PHP 8.1以前は、PHPプロジェクトからの更新が終わっています。
ディストリビューションやLTSベンダーが修正を移植している場合があるため、提供元に確認するよう案内されています。
ソースからビルドする利用者向けに、PHP 7.4、8.0、8.1への最小限の修正も公開されています。
なお、PHP 8.2は2026年12月31日にサポートが終了すると、8.2.35の告知に書かれています。
PHP管理者が実施すべきこと
- 本番・検証環境で動いているPHPのバージョンを
php -vやパッケージ管理で確認し、CLIとWebサーバーで別のPHPが動いていないかも見る。 - コンテナイメージの基になるPHPイメージを更新し、イメージを作り直してデプロイする。
- レンタルサーバーやマネージドサービスでは、提供元の対応状況を確認する。
- PHP 8.1以前の環境は、サポートされた系列への移行を計画する。
- VPN機器やセキュリティ機器の管理画面など、PHPを内部で使う製品について、各製品の開発元の情報を確認する(IPAが11月2日に追記)。
情報は 2026-11-06 時点のものです。