PHP 8.5.12——誰の得にもならない後始末を、誰が払うのか
カテゴリー:世界と日本 | シリーズ:先端ビジネスとそのルーツ | 著者:ARBO編集部
はじめに——認証なしで、コードの手前まで来られる
2026年10月21日、php.net に短い告知が出た。重大な脆弱性が2件、CVSS v4.0で9.2。認証のいらないリクエストが、アプリのコードに届く前に乗っ取れるという内容だった。
世界中のサーバーで動くPHPの、根に近い場所の欠陥である。更新すれば済む話に見える。だが誰が、いつ、どの版を更新するかを決める主体がいない点は、実は280年近く前の日本にもあった問題と重なる。
寛保2年、幕府は関東で氾濫した利根川の普請を、本州西端の萩藩に命じた。萩藩が治めるのは長門・周防であり、利根川の氾濫は自分の領地とは関係がない。それでも約800人を送り出し、費用を負った。
共有の基盤を直すのは、得をする者ではない。負担を割り当てられた者だ。この構図を、今回のPHP更新と江戸の川普請から見ていきたい。
第一部:攻撃が成立するのは、アプリのコードに届く手前だ
前日の予告から24時間で詳細が出た
2026年10月20日、PHP開発チームは事前告知を出した。2件の脆弱性はいずれもCVSS v4.0で9.2、分類はCritical。翌21日、正式な勧告が公開された。タイトルは「Security advisory: Critical remote code execution vulnerabilities, update now」である。
名前の通り、どちらもリモートから任意のコードを実行できる欠陥である。片方は後片付けの失敗、もう片方は忘れ物の再利用という形をしている。
中断のタイミングが悪かった欠陥
CVE-2026-109618は、メモリが足りなくなった際の処理に起因する。リクエスト内部のデータを初期化している途中でPHPが処理を打ち切ってしまうと、後片付けの工程は未初期化のデータを正当なものとして扱ってしまう。壊れた状態を、壊れたまま使ってしまう欠陥だ。
前の客の忘れ物を、次の客が掴む欠陥
CVE-2026-109619はもう少し分かりやすい。リクエストが持っていた内部状態は、裏付けとなるメモリが解放されたあとも、しばらく残り続ける。同じワーカーが次のリクエストを処理するとき、通常の初期化で上書きされる前に、その古い状態を掴んでしまう場合がある。
影響するのはPHP-FPM、Apache mod_php、php-cgi、FrankenPHP、LiteSpeedといった主要な実行形態だ。公式は mod_php をもっとも危険度が高いとし、認証されていないリクエストがアプリケーションのコードに到達する前に、攻撃が成立する実証があると記している。侵入の起点が、開発者が書いたコードよりも手前にあるという意味だ。
「更新だけが完全な対処」と公式は明記した
修正版はPHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35。開発中のPHP 8.6.0はRC4の段階で修正が入っており、それ以前のビルドは影響を受ける。公式は、暫定の緩和策は露出を減らすだけで、更新だけが完全な対処だと明記した。緩和策の例として、php.iniでのmemory_limit=-1やsession.upload_progress.enabled=0(ini_set()では不可)が挙がっている。PHP 8.5ではfatal_error_backtraces=0も加わる。
ここで見落としがちなのが、PHP 8.1以前の扱いだ。本家の更新対象には入っていない。負担は各ディストリビューターのバックポートか、サポート対象版への移行先へと移る。誰が払うかを決める主体が、ここで一段ぼやける。

第二部:関東の川が溢れて、なぜ長門の藩が800人を出すのか
自分の領地ではない川のために
萩藩6代藩主の毛利宗広は、本州西端の長門・周防から約800人を関東へ送り出した。氾濫したのは、自領からはるか東の利根川である。宗広にとって、この水害は直接の被害をもたらすものではなかった。それでも幕府の命令一つで、人と費用が動いた。
寛保2年8月1日と8日、関東地方は大雨に見舞われ、各地の河川が氾濫した。国土交通省関東地方整備局荒川上流河川事務所の資料は、この洪水で荒川と利根川が氾濫し、関東一円が浸水したと記している。幕府は氾濫した河川のうち利根川の普請工事を、萩藩をはじめとする10藩に命じた。
年を越しての4か月
山口県文書館の解説によれば、萩藩からの工事は11月29日に始まった。年末年始の休みを挟み、翌年3月28日に終わっている。冬の関東まで人を送り、季節をまたいで働かせる手配そのものが、すでに相当な負担だった。
工事後は幕府の検査を受けた。寛保3年4月15日、毛利宗広は江戸城に登城し、8代将軍徳川吉宗から労をねぎらわれている。支払われたのは金ではない。言葉と、記録だった。
この仕組みは御手伝普請と呼ばれる。幕府が大名に命じて公共の土木工事を負わせる制度で、命じられた藩が工事から直接の利益を受けるとは限らない。費用と人手だけを負う構図である。
誰が何を負ったかが、文書として残っている
国土交通省関東地方整備局利根川上流河川事務所は、江戸時代に利根川の改修工事を行った各藩の御手伝普請文書の複製を所蔵している。そこには萩藩毛利家・吉川家の文書も含まれる。誰が、いつ、どれだけ負ったか。それが文書として残っているからこそ、280年後の今、この構図を検証できる。
| 世界側(PHPの緊急更新) | 日本側(萩藩の利根川普請) | |
|---|---|---|
| 負担の発生源 | 自分の環境とは無関係の脆弱性 | 自分の領地とは無関係の氾濫 |
| 割り当ての主体 | php.netの勧告、各運用者の判断 | 幕府の命令 |
| 対価 | なし(更新は自己負担) | なし(金銭ではなく将軍の労い) |
| 記録の有無 | CVE番号・advisory | 御手伝普請文書の現存 |
得をしない負担を、誰が、どうやって払わせるか。この二つの事例は、時代も分野も違いながら、同じ構造を抱えている。
第三部:前の客の忘れ物を、次の客が掴む
被害は、サボった当人には出ない
CVE-2026-109619の形は分かりやすい。前のリクエストの残りを、同じワーカーに入ってきた次のリクエストが掴んでしまう。被害を受けるのは、後片付けを怠った当人ではなく、次に来た誰かである。負担が本人の外側に流れていく点は、川の氾濫とよく似ている。
一台ずつ見れば得はない
PHPは一社の持ち物ではない。更新の手間を負うのは世界中のサーバー運用者であり、一台ずつ見れば直接の得はほとんどない。それでもやらなければ、全体が浸水する。萩藩が利根川の普請を負ったときも、同じ理屈が働いていたはずだ。自領の得にはならない。だが放置すれば、どこかで別の堤が切れる。
命じる主体がいない版はどうなるか
PHP 8.1以前は本家の更新対象外である。負担はディストリビューターのバックポートか、サポート対象版への移行へと移される。命じる主体がはっきりしないまま、古い版だけが現場に残り続ける状況をどう見るか。幕府という命令の出し手がいた江戸の普請とは、ここが決定的に違う。
吉宗は萩藩に金を払っていない。負担の正当性を支えたのは、「命じられたこと」と「文書に残ること」の二つだった。CVE番号とadvisoryは、どこまで同じ役割を果たしているだろうか。番号は付く。記録も残る。だが「誰が払うべきか」を明示的に命じる主体は、オープンソースの世界には存在しない。
緩和策と更新の差は、応急の土嚢と本普請の差に近い。土嚢は水を一時しのぐが、堤そのものは直らない。割り当てが誰にも明示されない負担は、結局いちばん弱い場所に沈む。古い版を動かし続ける、小さな現場である。
ARBOの見解——「すぐ更新する」の、一歩先にあるもの
想定されるシナリオは三つに割れる。一つは、更新が数週間で行き渡り、大きな被害が表面化しないまま収束する流れだ。ただしサポート切れの版を抱えた環境は長く残り、個別の侵害として散発し続ける。
二つ目は、実証コードが公開され、更新されていないmod_php環境を中心に侵害が連鎖する流れである。この場合、影響は運用者本人よりも、その先の利用者に出やすい。
三つ目は、保守負担の割り当てが制度化していく流れだ。規制や商用サポートという形で、誰がバックポートを負うかが明文化されていく。
編集部は三つ目に重心を置く。更新そのものは各自が払うしかない負担だが、サポートの切れた版の面倒を誰が見るかは、善意だけでは長く続かない。御手伝普請が示しているのは、割り当てを決める主体と、誰が何を負ったかを残す記録、この二つが揃って初めて、得にならない手入れが回るという事実だ。
企業に求められるのは、「すぐ更新する」のさらに一歩先にある。自社が動かすPHPの版とサポート期限、そして誰がその費用を持つのかを、台帳として持つこと。これが、CVSS 9.2という数字の後ろにある本当の宿題である。
注視ポイント——今後12〜24カ月のシグナル
サポートが切れたPHP 8.1以前に対し、各ディストリビューターがバックポートをどれだけの期間提供するか、またその有償化が進むかは注視に値する。
mod_phpのまま稼働している環境の比率と、PHP-FPMやFrankenPHPへの移行がどれだけ進むかも、今回の脆弱性が実際にどこまで被害を広げるかを左右する。
オープンソースの保守負担を誰に割り当てるかを定める制度、たとえば欧州のサイバーレジリエンス法のような枠組みの運用開始と、その影響範囲も見ておきたい。命じる主体が制度として立ち上がるかどうかが、江戸の普請との最大の違いになる。
参考文献
- Security advisory: Critical remote code execution vulnerabilities, update now
- GHSA-w8hw-w9fx-j79w (CVE-2026-109618) RCE via OOM corruption
- GHSA-6wmf-4rv5-p3rp (CVE-2026-109619) RCE via stale global state
- PHP 8 ChangeLog(8.5.12 / 8.4.27、2026年10月22日付)
- 萩藩の御手伝普請(寛保2年の利根川普請)
- 荒川の歴史(寛保2年の洪水)
- 御手伝普請文書(各藩の利根川改修工事に関する文書の複製)