PHPの緊急脆弱性騒ぎは何だったのか——問われたのは「欠陥ゼロ」ではなく「手当てまでの速さ」
10月21日、PHPに2件の重大な脆弱性(通称「php2shell」、CVE-2026-109618/CVE-2026-109619)が公表され、ニコニコやpixivなど国内の大手サイトが相次いでメンテナンスに入りました。
一部では「10点満点中10点」と報じられましたが、PHP開発チームの公式評価はCVSS v4.0で 9.2 です。ただし、深刻度の点数だけでは、影響範囲や対策の緊急性までは判断できません。
今回が本当に特別だったのは点数ではなく、2つの点です。欠陥がPHPの 「中心部」 にあったこと、そして公式発表の前に情報が漏れ、攻撃が先行した ことです。
ジムのブログで、なぜサーバーの話を? と思われたかもしれません。実はこの騒ぎ、私たちの「体」の話ととてもよく似ています。それは記事の後半でお話しします。
PHPとは何か、重大な欠陥はどれくらいの頻度で出るのか
PHPは、Webサイトのサーバー側で画面を組み立てる言語です。WordPressの土台でもあり、サーバー側の言語が分かっているサイトの約7割で使われています。
PHPでは過去にも深刻な脆弱性が修正されてきました。今回も、点数だけでなく、どの環境に影響し、何を更新すればよいのかを確認することが重要です。
なぜ緊急事態になったのか:発見から公開まで
本来は予定どおり10月22日に公表されるはずでしたが、2日前の情報漏洩で前倒しになりました。複数の研究グループがAIを使ってほぼ同時期に別々に発見しており、攻撃手法の再現にもAIが使われたと報告されています。
| 時期 | 出来事 |
|---|---|
| 2026年8月 | 複数の研究者がPHP側に報告。「責任ある開示」の手順で10月22日公表の予定に |
| 10月20日 | 未公開の詳細がネット掲示板に漏洩。PHP側が翌日の緊急リリースを予告 |
| 10月20〜21日 | 修正版が出る前から、Cloudflareが初期段階の攻撃を観測 |
| 10月21日夜(日本時間) | 修正版(8.2.35/8.3.36/8.4.27/8.5.12)を公開 |
| 公開後の短時間 | 「この脆弱性を試せる」と称するプログラムが100以上出回る。悪意あるプログラムの混入も警告 |
「責任ある開示」とは、発見者が開発元にだけ先に知らせ、修正版の準備ができてから公表する慣行です。今回はその時間差が漏洩で失われ、守る側の準備期間がほぼゼロになりました。
2つの欠陥の仕組み:ホテルの後始末の不備
2件とも、仕事を途中で打ち切ったときの「後始末の不備」です。PHPのエンジンをホテルのスタッフ、メモリを客室と部屋割り表に例えると分かりやすくなります。
1件目(CVE-2026-109618):書きかけの部屋割り表を信じてしまう
攻撃者は、開けると何倍にも膨らむ荷物を大量に送りつけます。部屋が足りなくなったスタッフは、部屋割り表を書いている途中で作業を打ち切ります。ところが後始末のマニュアルは「部屋割り表は最後まで書き終わっている」前提で作られています。スタッフは書きかけのデタラメな表を信じ、立ち入り禁止の扉を開けてしまいます。これが外部からのプログラム実行、つまり乗っ取りにつながります。
2件目(CVE-2026-109619):回収し忘れた鍵で次の客を案内してしまう
作業を打ち切ると、本来回収するはずの「305号室」の鍵がフロントに置かれたまま残ります。次の客が来ると、スタッフはその鍵を信じて305号室へ案内します。しかしその部屋はすでに別の用途に回されており、攻撃者が都合のいい仕掛けを置いておけます。
さらに、この後始末の不備によって、前の客の忘れ物(パスワードなどメモリ上の重要情報)が次の客に渡ってしまう経路もありました。乗っ取りだけでなく、情報漏洩のリスクもあったということです。
これまでと何が違うのか、なぜ10点ではないのか
違いは、サイト側がどれだけ丁寧に作っていても防げない 点です。脆弱性には、特定の機能や環境だけが対象になるものもあります。今回は、アクセスを受けて片付けるPHPの中心部そのものが対象で、サイトのプログラムが動き出す前の段階で起きます。
影響範囲も広く、Apacheに組み込む形(mod_php)では初期設定のままで完全な乗っ取りが確認されています。攻撃に使われる機能の一部は初期状態で有効です。問題のコードは2012年頃から存在していたとされ、古いPHP 5系から最新系まで広く影響すると見るべきです。
それでも10点でなく9.2点なのは、乗っ取りの成功までが難しいからです。攻撃のきっかけは簡単に作れますが、同じ処理プロセスに狙いを当て、メモリの並びを完全に一致させる必要があります。
国内でサイト停止が相次いだ理由と、取るべき対策
サイトが止まったのは、更新が唯一の完全な対策 で、それが済むまでの防ぎようがなかったからです。修正版の公開は「どこに穴があったか」を世界に知らせることでもあり、その瞬間から更新の遅いサーバーを狙う競争が始まります。
PHP公式も、設定変更によって一部の攻撃経路を減らせる場合はあっても、完全な対策にはならないと説明しています。英国の政府機関は「更新できなければ一時対策を、それも難しければ対策完了までサービス停止も検討を」と呼びかけ、日本の政府機関も注意喚起を出しました。これが国内組織の一時停止判断につながりました。
| 使っているPHP | 対応 |
|---|---|
| 8.2〜8.5系 | 8.2.35/8.3.36/8.4.27/8.5.12へ直ちに更新 |
| 8.1以前 | PHPプロジェクトによる通常の更新対象外。サポート中の版へ移行。保守ベンダーの修正提供がある場合は確認 |
WordPressやプラグインの更新では直りません。PHP本体の更新が必要なので、レンタルサーバーや制作会社に任せている場合も、更新済みかを確認する必要があります。
まとめ:問われるのは「欠陥ゼロ」ではなく「更新までの速さ」
AIの普及で脆弱性を見つける速度は上がり、今回のような欠陥は今後も日常的に見つかります。守る側に必要なのは欠陥をゼロにすることではなく、公開から更新までの時間を縮められる体制 です。
経営の立場で確認しておきたいのは次の3点です。
- 自社サイトがPHPで動いているか、誰が更新するのかを把握しているか
- 保守契約や社内体制に「緊急時のPHP更新」が含まれているか
- 更新できないときにサービスを一時停止する判断を、誰がするか決まっているか
報道を読むときは、見出しの点数ではなく、公式発表の「深刻度」「影響を受ける版と条件」「公式の対策」の3点を確認することが、過剰な不安を避ける一番の近道です。
体にも「欠陥ゼロ」はない。あるのは「更新」だけ
ここからは、ジムらしい話をさせてください。
今回の騒ぎを追いながら、私たちは何度も「これは体の話と同じだ」と感じました。
体にも、誰にでもある「既知の脆弱性」があります。 筋肉は30歳代から少しずつ減り始め、何もしなければ10年ごとに3〜8%ずつ落ちていきます。60歳を過ぎると、そのペースは速くなります。減り方には個人差があり、運動や栄養への取り組みが大切です。
だから、体でも問われるのは「欠陥ゼロ」ではありません。衰えに気づいてから、手当てを始めるまでの速さ です。
そして、今回のPHPとそっくりな点がもうひとつあります。
- 周りをいくら整えても、中心部は直らない。 WordPressやプラグインを更新してもPHP本体は直らないように、サプリや食事に気をつけても、それだけで筋肉は増えません
- 本体の更新は、自分でやるしかない。 筋肉だけは、誰かに「代わりにつけておいて」と頼めません。筋肉だけはAIに代替させられない のです
- 「そのうち」が一番危ない。 修正版が出てから更新が遅れたサーバーが狙われるように、「まだ大丈夫」と先送りした分だけ、取り戻すのに時間がかかります
AIは、脆弱性を見つける速さを一気に上げました。同じように、AIは体の「更新」の手間も一気に減らせます。AI時代の筋肉は、AIに増やしてもらう ──私たちは、そう考えています。
QuickPlusGymは、体の「定期アップデート」を10分で
最後に、少しだけ当店の話をさせてください。
QuickPlusGymのAIマシン「Extrec(エクストレック)」は、AIがその日の力を感じとり、一人ひとりに合った負荷をその場で決めます。
- 1種目90秒 ──3種目やっても運動している時間は約5分。来店から終了まで約10分です
- 重さを自分で選ばなくていい ──その日の力に合わせてマシンが負荷を決めます。重りが落ちてくる心配もありません
- 毎回の力が数字で残る ──毎回の筋力が記録され、スマホで確認できます。「更新できているか」が、目に見えて分かります
サーバーの更新と同じで、大事なのは一度きりの大掛かりな作業より、こまめに、確実に続けること です。まずは週1回から。慣れてきたら週2回へ。
ご自身の体が「最新版」かどうか、一度確かめてみませんか。イトーヨーカドー大森店3階のQuickPlusGymで、無料体験を受け付けています。手ぶらでOK、しつこい勧誘もありません。お電話(03-6410-8919)または予約フォームから、お気軽にどうぞ。
当店の対応について
当サイトもPHPの更新を行い、PHP 8.5.12への切り替えを確認しました。一時停止していた予約フォームを復旧し、問い合わせメールの到着も確認しています。ご不便をおかけしました。
参考資料
- PHP公式:2026年10月のセキュリティ勧告・リリース情報
- PHP公式:PHP 8.5.12リリース
- Cloudflare:php2shellへの保護と観測状況
- Volpi E, Nazemi R, Fujita S. Muscle tissue changes with aging. 2004
※技術情報は2026年10月22日時点です。適用すべき更新は、PHP公式およびご利用の保守ベンダーの最新情報をご確認ください。
ブログ一覧に戻る