php2shell――PHPにCVSS 9.2のRCE
修正の律速は人間の調整だった
PHP 8.5.12/8.4.27/8.3.36/8.2.35で修正。発見を加速したのはAIで、律速だったのは人間の合意形成でした。2026.10.22
2026年10月21日、PHPにCVSS 9.2の未認証リモートコード実行(RCE)2件が公表されました。通称「php2shell」。修正版はPHP 8.5.12/8.4.27/8.3.36/8.2.35です。この件がAIの話として重要なのは、脆弱性そのものよりも「AIが発見を加速し、人間の調整が追いつかなくなっている」という構造が、公式の振り返り記事にはっきり書かれている点です。
1. 何が起きたか確認済み
| CVE | 内容 | 到達条件 |
|---|---|---|
| CVE-2026-109618 GHSA-w8hw-w9fx-j79w | メモリ上限(memory_limit)に達した瞬間、リクエストデータが部分的にしか初期化されないまま残り、後でそれを有効なデータとして扱ってしまう(OOM時のメモリ破壊)。 | Apache+mod_phpでは、アプリケーションコードが動く前に未認証リクエストで発火。既定設定で完全なRCEを実証。PHP-FPMでもアプリ側の経路からRCEを確認。 |
| CVE-2026-109619 GHSA-6wmf-4rv5-p3rp | 致命的エラー時に、前のリクエストが使っていた解放済みメモリを指したまま状態が残る(stale global state)。同一ワーカーが処理する後続リクエストで再利用される。 | 未認証のヒープuse-after-free、メモリ開示、ワーカー権限でのRCE。実際のアプリに対するRCEが報告者により実証。 |
影響するのはPHP自体であり、WordPress・Drupal・Joomla・Magentoといったアプリの脆弱性ではありません。PHPが動くすべてのWeb実行環境(PHP-FPM、Apache+mod_php、php-cgi、FrankenPHP、LiteSpeed)が対象で、PHPの公式表現は「Webリクエストを処理するすべてのPHPインストールが危険」です。 出典:php.net リリース告知
2. 公表までの時系列確認済み
| 日時(UTC) | 出来事 |
|---|---|
| 2024年 | PHP FoundationがSovereign Tech Agencyの資金で初の外部監査を実施(OSTIF経由、Quarkslab)。別件の修正中に、コア開発者がOOM問題の兆候を発見。当時は「理論上は搾取可能」だが具体的な経路は見つからず。 |
| 2026-08-11 | CalifのRyan Aが、同じ根本原因による無条件のRCEを報告。同日、OpenAIも独自に同じ根本原因を報告。 |
| 2026-08-24 / 09-18 | Wiz、OpenAIが追加の攻撃経路を報告。以降、修正が最優先課題に。 |
| 2026-10-20 15:00頃 | CVE IDがフォーラム・SNSで流出。CVSSは誤って10.0として流布(実際は9.2)。技術的詳細は漏れず。 |
| 2026-10-20 19:30 | PHPが事前告知を前倒しで公開。リリースを10月22日14:00から10月21日14:00へ前倒し。 |
| 2026-10-20 20:00頃 | 報告元の一社Califが、PoC映像を誤って公開。削除されるもコピーが拡散し、PoC開発が加速。 |
| 2026-10-21 07:41 | Chainguardが修正版イメージを調整公表の6時間以上前に unilateral 公開。他のPHP利用者が待つ間に、攻撃者はバイナリから修正内容を研究できる状態に。 |
| 2026-10-21 14:00 | PHP 8.5.12/8.4.27/8.3.36/8.2.35 リリース。 |
3. この件の主役はAIだった確認済み
PHP Foundationの振り返り記事には、発見の経路がかなり率直に書かれています。2026年前半、同財団はAlpha-Omegaと共同でAnthropicの「Claude Mythos」を使ってPHPをスキャン。その後、OpenAIの「Daybreak Red」を報告・PoCの検証に追加し、PHPをOpenAIの「Patch the Planet」プログラムに参加させ、7月30日からCalifが監査を開始しました。8月11日のCalifの報告と、同日のOpenAIの独立報告が、事態を動かしています。
さらに記事は、AIによって報告件数そのものが増えたことも明記しています。7月1日以降に公開したCVEは15件、その一方で処理した100件以上が無効・重複・再現不能でした。「AIは報告の検証と根本原因のグルーピングを助けるが、判断とパッチ作業は人間が行う」——この一文が、いまの均衡点をそのまま表しています。
PHP Foundationは「構造的な失敗だった」と自ら書いています。OOM問題の修正には複数の案があり、いずれも後方互換性の破壊、新たなDoS、多数のサードパーティ拡張の変更を伴う。合意形成を基本とするセキュリティチームは決めきれず、少人数のコア開発者は他の業務を抱えていた。結果、修正作業は数カ月にわたり停滞と再開を繰り返した。現在は多数決で決められるようプロセスを変更中です。
4. 何をすればいいか第三者検証
- 8.2〜8.5を使っている場合:8.5.12/8.4.27/8.3.36/8.2.35へ更新。ディストリビューションやLTSベンダーには事前にパッチが渡っているので、まずベンダー版を確認。
- PHP 8.1以前(サポート終了):公式修正は出ません。7.4/8.0/8.1向けにはソースレベルのかなりの最小バックポートがPHPセキュリティチームから提供されています(自前ビルド向け)。それが使えない環境では、
php.iniにsession.upload_progress.enabled = Offを追加して既知の悪用経路を塞ぐ、というのがPHPとHuntressの推奨です。 - remirepo.net(Remi)を使っている場合:当日は更新パッケージが出ないため、ディストリビューション版へ移行するかソースからビルド。
- 検知:PHPワーカー(php-fpm、php-cgi、httpd、apache2)が
sh・bash・curl・wget・pythonなどを子プロセスとして起動していないか。Florian Rothのprocess-watcherが無料で使えます。 - 悪用状況:Huntressは10月21日16:30 ET時点でパートナー環境での実悪用は未観測としつつ、他社は攻撃の兆候を報告していると記しています。PoCはすでに流通しており、「まだ悪用されていない」は「今後もされない」ではありません。
5. 見えてきたことAIfrontierの見解
php2shellは「AIが脆弱性を作った」事件ではありません。逆で、AIが防御側の目を良くした結果、人間の調整能力が律速になった事件です。発見は数日単位に縮み、修正の意思決定は数カ月単位のまま。この非対称は、当サイトが「デジタル粘菌」やARTEXで追ってきた「攻撃コストの低下」と同じコインの裏表です。
実務的な含意は3つあります。①PHPは「アプリの脆弱性」ではなく「土台の脆弱性」なので、資産台帳にPHPのバージョンを持っていない組織は、まずそこから。②EOLのPHPは事実上の無防備で、WAFとsession.upload_progress無効化は緩和であって解決ではありません。③「AIでスキャンする」だけでは足りない。修正を決めて当てる人間の工程に投資しないと、発見件数の増加はそのまま滞留件数になります。
出典 / Sources
- PHP.net「PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35 released」(2026年10月21日) https://www.php.net/archive/2026.php#2026-10-21-5
- The PHP Foundation「A first external audit and increased security focus」(2026年10月21日、発見経緯・停滞・エンバーゴ破り) https://thephp.foundation/blog/2026/10/21/todays-php-security-release-and-how-were-strengthening-php-security/
- GitHub Security Advisory GHSA-w8hw-w9fx-j79w(CVE-2026-109618) https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w
- GitHub Security Advisory GHSA-6wmf-4rv5-p3rp(CVE-2026-109619) https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp
- Huntress「php2shell, Leaked Critical PHP Vulnerabilities」(2026年10月21日更新、影響範囲・緩和策・検知観点) https://www.huntress.com/blog/php2shell-leaked-critical-php-vulnerabilities
- CERT-EU Security Advisory 2026-018(CVSS 9.2) https://cert.europa.eu/publications/security-advisories/2026-018
- Wiz「PHP2Shell」(WordPress・Drupal・Joomlaに対する未認証RCEの実証) https://www.wiz.io/blog/php2shell-php-rce
- Ubuntu「PHP critical vulnerability fixes available」(2026年10月21日) https://ubuntu.com/blog/php2shell-vulnerability-fixes-available