サイバーセキュリティテクノロジーAI2026年10月22日日本語EN中文

PHP2Shellの48時間。ウェブの7割を支える言語の欠陥は、どう見つかり、どう塞がれたのか

2026年10月21日の夜、ウェブサイトを動かす言語PHPに、認証なしで乗っ取りにつながる欠陥が2件あると公表された。

予告から修正版の公開、国内サービスの一斉停止までを、開発元と公的機関の一次資料で時系列に並べる。

欠陥の仕組み、AIが果たした役割、そしてこれから起きうることを、僕は自分の会社の守りと重ねて確かめておく。

データセンターに並ぶサーバーのラック
データセンターに並ぶサーバーのラック

予告から修正版まで、何が起きたのか

発端は、公表の予定より早く情報が漏れたことだった。10月20日の15時20分(世界標準時)ごろ、技術系の掲示板に2件の公開を予告する投稿が出て、のちに削除された。開発元のPHPセキュリティチームは、同じ日の19時33分(日本時間21日4時33分)に、メーリングリストでリリースを予告した。

予告の中身は、共通の評価基準CVSS v4.0で9.2点の欠陥が2件あること、修正版を21日14時(日本時間23時)に出すことだった。詳細が漏れたり悪用が確認されたりすれば前倒しする、とも書かれていた。

日本では21日の昼から動きが加速した。IPAは棚卸しを呼びかける「事前準備のお願い」を出し、15時50分にはネットショップの開設サービスが緊急停止に入った。夜には首相がXで「今夜に対応して頂きたい大至急のお願い」と投稿し、直せない場合はサイトの一時停止も有効だと伝えた。

修正版の8.5.12、8.4.27、8.3.36、8.2.35は、日本時間の22時30分から23時ごろに公開された。報じる媒体によって時刻は少しずれている。翌22日の朝には、停止したサービスの多くが再開に向かった。

日時(日本時間)出来事出典
10/21 04:33PHPセキュリティチームがリリースを予告php.announce/509
10/21 午後IPAが事前準備と棚卸しを呼びかけIPA
10/21 15:50ネットショップ開設サービスが緊急停止事業者の告知
10/21 21:55ごろ首相がXで対応とサイトの一時停止を呼びかけImpress Watch
10/21 22:30〜23:00修正版8.5.12/8.4.27/8.3.36/8.2.35を公開php.net、CERT-EU
10/22 08:00停止したサービスの再開が始まる事業者の告知

国内で止まったもの

piyologの集計では、告知で確認できただけで54の組織が対応した。サービス全体を止めたのが20、一部の機能を止めたのが7、自社や団体のサイトを止めたのが27だった。ネットショップの開設サービス、保育園向けの連絡アプリ、人気のゲーム、厚生労働省の介護サービス情報公表システム、大学、鉄道会社まで並ぶ。

銀行では、静岡銀行がネットバンキングを予防的に止め、21日23時の時点で被害は確認されていないと伝えられた。止めた事業者の多くは、攻撃や漏えいは確認されていないと説明している。被害が出たから止めたのではなく、修正版を当てて確かめるまで扉を閉めた形だった。

ノートパソコンの画面に並ぶウェブのコード
ノートパソコンの画面に並ぶウェブのコード

欠陥の中身:メモリ不足と、消え残る状態

1件目のCVE-2026-109618は、メモリが足りなくなったときの処理にある。PHPは上限を超えるとリクエストを途中で打ち切るが、そのとき内部のデータが初期化の途中で残る。後片付けの処理が、この壊れたデータを正しいものとして扱ってしまう。ファイルを送るフォームの解析を使えば、外からわざとメモリ不足を起こせる。

2件目のCVE-2026-109619は、前のリクエストの状態が、メモリを解放した後も残る問題だ。同じ作業プロセスが次のリクエストを処理するとき、片付けられていない状態を使ってしまう。初期設定で有効なアップロードの進捗機能が、その経路の1つになる。

どちらも、攻撃者は認証なしで、ネット越しにサーバー上でコードを動かせる。最も危ないのはApacheのmod_phpで、アプリのコードが動く前に、1回のリクエストで攻撃が成り立つことが実証されている。開発元は「完全な緩和策はなく、更新が唯一の安全な選択」としている。

なぜ影響が「ウェブの7割」になるのか

W3Techsの集計では、サーバー側の言語が分かるサイトの69.3%がPHPで動いている。WordPressだけで全サイトの39.6%を占め、DrupalやJoomlaも同じ言語の上にある。研究者は、この3つでログイン前の乗っ取りを実証した。

ただし「7割」は利用率の数字で、脆弱なサイトの実数ではない。問題は古い版の多さにある。PHPのサイトのうち、サポートが終わった7系が27.0%、5系が7.7%を占める。今回の公式の修正版は8.2以降だけで、8.1以前には最小限のソースパッチしか出ていない。8.2のサポートも2026年12月31日に終わる。

図1 PHPで動くサイトのバージョン内訳。W3Techs(2026年10月21日時点)から作成
図1 PHPで動くサイトのバージョン内訳。W3Techs(2026年10月21日時点)から作成

AIは何をしたのか

OpenAIの公表によると、研究企業のCalifがGPT-5.6 Solを使って最初の欠陥を見つけた。作業の開始は7月30日、発見は8月1日、開発元への報告は8月11日だった。Wizも8月19日に別々に見つけ、Gemini 4 Argonなどを使ったと書いている。

大事なのは、AIだけで見つけたわけではない点だ。Califの記録では、仮説を立てたのは人間で、2004年に別の研究者が見つけた不具合を手がかりにしている。AIは、メモリ管理のコードを読み込み、具体的な不具合を探し当てる役を担った。元になったメモリ不足の欠陥は2020年に知られていたが、乗っ取りまで届くとは示されていなかった。

発見から公開までは約2か月半あった。その間、開発元と発見者、クラウド事業者が修正を調整していた。見つける力が上がるほど、この調整の速さが守りの要になる。

悪用は確認されたのか

答えは、出典によって分かれている。IPAは21日の時点で攻撃を確認していないとし、Huntressも自社の環境では見ていないとした。一方でwatchTowrは、自社のおとりサーバーで悪用を観測したと更新している。米国の悪用確認リスト(KEV)には、調べた時点で載っていない。

確かなのは、修正版の公開前から、悪用できると主張するコードが出回り始めていたことだ。公開と同時に攻撃が始まる前提で動いた事業者の判断は、結果として合理的だったと言える。

これから起きうること

1つ目は、同じ型の発見が続くことだ。公表された脆弱性の数は、2024年の39,962件から2025年には48,185件に増え、2026年は約5万9千件と予測されている。AIが古いコードを読み直すほど、何年も眠っていた欠陥が表に出る。

2つ目は、修正までの猶予が縮むことだ。米国では、最も危ない脆弱性を3日以内に直すよう連邦機関に求める指令が出たと報じられている。公表から悪用までが数時間になる前提で、運用を組み直す必要がある。

3つ目は、古い版を使い続ける費用が上がることだ。サポートの切れた版は、次の欠陥が見つかっても公式の修正が届かない。更新を先送りした分だけ、止めるか作り直すかの選択を迫られる。小さな会社ほど、自社のサイトや予約の仕組みがどの版で動いているかを、委託先に確かめておく価値がある。

図2 公表された脆弱性(CVE)の件数。2026年はFIRSTの予測の中央値
図2 公表された脆弱性(CVE)の件数。2026年はFIRSTの予測の中央値

僕はこう見ている

僕はシェアオフィスを経営していて、会員の情報は外部のサービスで管理している。自社では持たない形にしているのは、情報を持つほどリスクが上がると考えているからだ。それでも22日の朝、運用を任せている会社に「うちは問題ないですか」と連絡した。

今回の件で、ITにも建物と同じ修繕の考え方が要ると感じた。外壁や設備は、壊れる前に積み立てて替える。ソフトウェアも、サポートが切れる前に替える費用を先に用意しておく。

AIは、守る側にも攻める側にも同じ速さを与える。僕は、見つかる速さが上がる時代に、直す速さと止める判断の速さで差がつくと見ている。会社を選ぶときも、投資先を選ぶときも、その速さを見ていきたい。

出典

  1. PHP公式「Critical remote code execution vulnerabilities, update now」 https://www.php.net/archive/2026.php
  2. PHP セキュリティ予告(php.announce/509) http://news-web.php.net/php.announce/509
  3. PHP サポート中のバージョン https://www.php.net/supported-versions.php
  4. GitHub GHSA-w8hw-w9fx-j79w(CVE-2026-109618) https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w
  5. GitHub GHSA-6wmf-4rv5-p3rp(CVE-2026-109619) https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp
  6. IPA「PHPのセキュリティリリース公開予定について」 https://www.ipa.go.jp/security/security-alert/2026/pre-alert20261021.html
  7. CERT-EU Security Advisory 2026-018 https://cert.europa.eu/publications/security-advisories/2026-018/
  8. OpenAI「Coordinated disclosure of critical vulnerabilities」 https://openai.com/index/coordinated-disclosure-of-critical-vulnerabilities/
  9. Calif「PHP2Shell」 https://calif.io/php2shell/
  10. Wiz「PHP2Shell」 https://www.wiz.io/blog/php2shell-php-rce
  11. watchTowr「CVE-2026-109618 FAQ」 https://watchtowr.com/intelligence/php-cve-2026-109618-faq/
  12. Huntress https://www.huntress.com/blog/php2shell-leaked-critical-php-vulnerabilities
  13. W3Techs(PHPの利用率) https://w3techs.com/technologies/details/pl-php
  14. W3Techs(CMSのシェア) https://w3techs.com/technologies/overview/content_management
  15. Jerry Gamblin「2025 CVE Data Review」 https://jerrygamblin.com/2026/01/01/2025-cve-data-review/
  16. Computer Weekly(FIRSTの2026年予測) https://www.computerweekly.com/news/366638949/CVE-volumes-may-plausibly-reach-100000-this-year
  17. Cloud Security Alliance(BOD 26-04の要約) https://labs.cloudsecurityalliance.org/research/csa-research-note-bod-2604-ai-accelerated-patch-mandate-ente/
  18. piyolog(国内の停止の集計) https://piyolog.hatenadiary.jp/entry/2026/10/21/174516
  19. Impress Watch https://www.watch.impress.co.jp/docs/news/2150159.html

写真:Taylor Vick/Ilya Pavlov(Unsplash)。図はYUKI CAPITALが作成

日々の数字と判断は、Xで記録している。