PHP の RCE 2件、mod_php は未認証で発火、FPM もアプリ経由で実証
PHP 8.5.12・8.4.27・8.3.36・8.2.35 で直った RCE 2件は、Apache の mod_php と PHP-FPM で発火の入口が違う。構成ごとの条件と、更新前に確かめることをまとめる。
PHP 8.5.12・8.4.27・8.3.36・8.2.35 で直った RCE 2件は、Apache の mod_php と PHP-FPM で発火の入口が違う。構成ごとの条件と、更新前に確かめることをまとめる。
PHP 8.5.12、8.4.27、8.3.36、8.2.35 が2026年10月21日に公開された。直した脆弱性は2件で、どちらもリモートコード実行(RCE)につながる。PHP Foundation は、条件がそろえば認証なしでサーバー上のコードを実行されると書き、PHP を動かしているなら今すぐ更新するよう求めている。
構成で違うのは、攻撃がどこから入るかだ。Apache の mod_php では、CVE-2026-109618 がアプリケーションのコードが走る前に未認証のリクエストで発火し、既定設定のまま完全な RCE が実証された。PHP-FPM でも同じ CVE で RCE が確認されているが、こちらはアプリケーション側のコード経路を通る。FPM なら対象外、という読み方はできない。
| CVE | 起点 | Apache + mod_php | PHP-FPM |
|---|---|---|---|
| CVE-2026-109618(GHSA-w8hw-w9fx-j79w) | memory_limit に達した瞬間の OOM 処理で、初期化途中の内部データが残る | アプリのコードより前に未認証で発火。既定設定で RCE を実証 | アプリケーションのコード経路を通じて RCE を確認 |
| CVE-2026-109619(GHSA-6wmf-4rv5-p3rp) | 致命的エラーの後、内部状態が前のリクエストのメモリを指したまま残る | 実在のアプリケーション上で報告者が RCE を実証 | 構成を特定した記述はない。use-after-free とワーカーのクラッシュは確認済み |
出典:The PHP Foundation「Today’s PHP Security Release, and How We’re Strengthening PHP Security」(2026年10月21日)
CVE-2026-109618 は、リクエストが memory_limit にちょうど悪い瞬間に達したとき、PHP が初期化の終わっていない内部データを残し、後でそれを正しいものとして扱ってメモリを壊す問題だ。CVE-2026-109619 は、致命的エラーが悪い位置で起きると内部状態が前のリクエストのメモリを指したまま残り、同じワーカーが次に処理するリクエストがその解放済みメモリを使ってしまう。
どちらもメモリ管理とエラー処理という、ほぼすべてのリクエストが通る場所にある。Foundation は、互換性を壊さず、性能を落とさず、サードパーティ拡張の大きなエコシステムに変更を強いずに直すのが難しかったと説明している。設定の一項目を変えれば避けられる種類の問題とは書かれていない。
更新先は、使っているブランチの修正版だ。8.5 系なら 8.5.12、8.4 系なら 8.4.27、8.3 系なら 8.3.36、8.2 系なら 8.2.35 になる。Foundation によると修正はサポート中の全ブランチに入り、ディストリビューションと LTS ベンダーには事前にパッチが渡されていた。対象バージョンの線引きは以前の記事でも扱った。
FPM の場合も更新は必要だ。アプリケーションのコード経路を通る RCE が確認されている以上、「アプリが安全なら問題ない」とは判断できない。どのアプリの、どんな経路なら成立するのかは発表に書かれていない。
公開は当初、10月22日14時00分(UTC) の予定だった。ところが10月20日15時00分(UTC) ごろ、2つの CVE ID がオンラインフォーラムや SNS で出回り始めた。誤った公開時刻と、誤った CVSS 10.0 が添えられていた(Foundation によると実際のスコアは 9.2)。技術的な詳細は漏れていない。PHP プロジェクトは事前告知を 19時30分(UTC) に前倒しし、公開も10月21日14時00分(UTC、日本時間同日23時00分)に1日早めた。
その後、報告元の一つである Calif が、複数の標的で PoC が動く様子の動画を誤って公開した。動画は削除されたがコピーが SNS で広まり、各種 PoC の開発を加速させたと Foundation は見ている。さらに10月21日07時41分(UTC)、Chainguard が予定より6時間以上早く修正入りのイメージを公開した。修正のバイナリを攻撃者が解析できる状態が、ほかの利用者の更新より先に生まれたことになる。
PHP セキュリティチームは漏洩後に出てきた PoC を監視・検査したが、公開時点では機能するエクスプロイトを確認していなかった。これは10月21日時点の記述で、その後の状況は発表からは分からない。PoC の開発が早まった経緯を踏まえれば、「まだ実害の報告がない」を待つ理由にはしにくい。