AIがPHPエンジンの脆弱性を発見、過去10年の全版が影響

PHPプロジェクトは10月21日、セキュリティ版4本を同時に公開した。8.5.12、8.4.27、8.3.36、8.2.35である。修正対象はCVE-2026-109618とCVE-2026-109619の2件で、CVSS v4.0のスコアはいずれも9.2。認証なしのリモート攻撃者が悪用でき、最悪の場合はリモートコード実行に至る。公式アドバイザリーによると、完全な暫定回避策はなく、アップグレードが唯一の根本的な対処法だという。

この脆弱性群を見つけたのはクラウドセキュリティ企業のWizで、同社はこの件を「PHP2Shell」と名付けた。調査の過程では、自社のWiz Atlasに加え、GoogleのGemini 4 ArgonとOpenAIのGPT-5.6 Solが使われたという。

問題はエンジン本体にある

2件のCVEの背後には4つの欠陥がある。アップロード進捗デシリアライザーの解放後使用(use-after-free)、プロセスメモリのリモート読み取り、致命的エラーのバックトレースにおける解放後使用、そしてOPcacheの型混同である。共通する根本原因は、PHPが致命的エラー、とりわけメモリ枯渇によるエラーを処理する方法にある。

リクエストが異常終了すると、内部状態に破損したデータが残る。同じワーカープロセスが次のリクエストを処理する際にこの古い状態を再利用するため、メモリリークやメモリ破壊が起きる。攻撃者はコードを実行しなくても、プロセスメモリからパスワード、トークン、APIキーを読み出せる。

脆弱性はPHPエンジン内にあり、アプリケーション側の書き方の安全性とは関係がない。Wizは、WordPress、Drupal、Joomlaの最新コンテナイメージのいずれでも悪用を実演した。Hello Worldを出力するだけのページでも被害を受けうる。アプリケーションが一度もsession_start()を呼んでいなくても、メモリリークは成立する。影響範囲はPHP 5.4までさかのぼり、過去10年間にリリースされた全バージョンが少なくとも1つの問題に該当する。

AIはどの工程で力を発揮したか

Wizのタイムラインは次のとおり。8月19日に最初の脆弱性を発見し、8月24日にPHPのセキュリティチームへ報告。9月21日にPHP側が確認して協調的な修正の準備に入り、10月21日に公開した。報告からパッチ公開まで2カ月近くかかり、その大半は修正と調整に費やされた。

Wizによると、Argonは脆弱性の発見、エクスプロイトの作成、攻撃の検知、パッチの検証といった工程に関わった。大規模モデルは、研究者がエクスプロイトコードをPHPのバージョン、設定、メモリレイアウトごとに適合させる作業を支援し、失敗すれば原因を分析して改良を重ねた。Wizの言葉は次のとおりだ。

"Frontier AI models substantially reduced that barrier, turning a longstanding flaw into an exploit."

(フロンティアモデルはその障壁を大幅に下げ、長年存在した欠陥を実際に使えるエクスプロイトに変えた。)

Wizは、トップチームが数カ月かけていた作業を研究者1人が1週間で終えたと述べている。OpenAIもこの協調的開示について記事を公開した。報道によれば、OpenAIは自社サイトが影響を受けるか確認するためのCodexスキルも公開したとされるが、具体的にどの範囲をカバーするかは現時点で一つずつ確認できていない。

中国の古いサイトに残る課題

中国では中小規模のWebサイトや企業サイト、フォーラムの多くがPHPで動いている。サーバー管理パネルのワンクリックインストールで構築された環境が多く、バージョンが7.xのままのものも少なくない。公式のリリース一覧を見ると、今回のパッチは8.2から8.5の4ブランチのみが対象だ。7.xはとうにサポートが終了しており、公式の修正は受けられない。8.2も今年12月31日までの保守にとどまる。

まだアップグレードしていないサイト向けに、Wizは確認すべき兆候をいくつか挙げている。異常なmultipartリクエストの直後にメモリ超過エラーが出る、HTTP 500が繰り返し発生する、PHPSESSID Cookieが異常に大きい、または形式が崩れている、PHPワーカープロセスが頻繁に異常再起動する、といったものだ。Cloudflare、Fastly、Googleなどはすでに防御ルールを展開しており、CDNを使っているサイトは一部を防げるが、公式の結論は変わらない。パッチを適用してはじめて対処完了となる。

参考資料:PHP公式セキュリティアドバイザリー、Wiz研究ブログ、CocoLoop、OpenAIセキュリティ告知。修正バージョン番号、CVE番号、CVSS v4.0スコア、影響を受けるバージョン範囲を確認済み。