PHPの脆弱性で世界中のサイトが止まった。AI時代に攻撃する側が有利な4つの理由
2026年10月21日、PHPの重大な脆弱性「PHP2Shell」で国内211組織のサイトが止まり、首相もXで「大至急のお願い」を出しました。14年前からあった穴をAIが攻撃可能にし、修正版より先に攻撃が始まった経緯を追い、攻撃する側がなぜこれほど有利なのかを初心者向けに解説します。
この記事の要点
- 2026年10月21日、PHPの2件の重大な脆弱性(CVE-2026-109618、CVE-2026-109619。通称 PHP2Shell)の修正版が、予定より1日早く公開された。ログインなしでサーバー上のプログラムを動かせる穴で、PHPは裏側の言語が分かる世界のサイトの69.3%が使う(W3Techs、10月22日時点)。国内では211の組織がサービスを止め、首相もXで対応を呼びかけた。
- 穴そのものは2012年のPHP 5.4からあった。2024年の監査で兆候は見つかったが、攻撃の手順を証明できずに修正は止まった。2026年8月、CalifとOpenAI、Wizが最新のAIモデルを使って「実際に攻撃できる」と証明した。Wizは「1人の研究者が1週間で、以前なら一流チームが数か月かかった仕事を終えた」と書いている。
- 攻撃は修正版より先に始まった。Amazonのおとりサーバーは公開4日前の10月17日に攻撃の試みを記録し、修正版の6時間以上前には修正入りのソフトが先に出回り、Cloudflareは公開前に攻撃を観測した。脆弱性の公開から攻撃までの時間は、2018年の756日から2023年には約5日に縮み、2025年上半期は32%が公開当日かそれ以前だった。
- 私の見立てでは、攻撃する側が有利になったのは穴が増えたからではなく、「見つける」「証明する」「攻め方を作る」がAIで安くなった一方、「直して配る」が人と組織の速さのままだからだ。PHP財団自身が、修正の遅れを「構造的な失敗」と認めている。
2026年10月21日の夜、高市早苗首相が X に「皆様に、今夜に対応して頂きたい大至急のお願いです」と投稿しました。Web サイトの裏側で広く使われている PHP というプログラミング言語に、重大な弱点が2件見つかったという注意喚起です。
同じ日の午後から、国内では厚生労働省や財務省、札幌市、北海道銀行、ANA、Cygames、pixiv、ニコニコ、BASE、ローソンチケットなど、211の組織がサービスを止めるか緊急メンテナンスに入りました(セキュリティ情報サイト piyolog の22日未明時点の集計)。オランダでは下院や国のサイバーセキュリティセンターのサイトまで、予防のために止まっています。
私は、いつかはこういう世界が来るだろうと思っていました。攻撃に AI が使われ、守る側が追いつかなくなる世界です。ただ、来るのが思っていたより圧倒的に早かった。それが今回の正直な感想です。
この記事では、まず何が起きたのかを短くまとめます。そのうえで、なぜ攻撃する側がここまで有利になっているのかを、4つの理由に分けて書きます。専門用語は初めて出るところで日常の言葉に言い換えるので、技術の話に慣れていない人も読めるはずです。
何が起きたのか
世界のサイトの7割が使う部品に、2件の穴
PHP は、Web サイトの裏側で動くプログラミング言語です。ブログやネットショップでよく使われる WordPress も、この言語で書かれています。統計サイト W3Techs によると、裏側の言語が分かるサイトのうち 69.3% が PHP を使っています(2026年10月22日時点)。
今回見つかったのは、この PHP の中心部分にある2件の脆弱性です。脆弱性とは、ソフトの作りの不備のせいで、外から本来できないはずの操作ができてしまう穴のことです。2件には CVE-2026-109618 と CVE-2026-109619 という番号が付き、まとめて PHP2Shell と呼ばれています。深刻度は、10点満点で表す CVSS という目安で 9.2 でした。
できてしまう操作は2つです。1つは、ログインしていない相手がサーバー上で好きなプログラムを動かすことです。遠隔コード実行と呼ばれ、サイトの乗っ取りや改ざんにつながります。もう1つは、サーバーのメモリから他の人のパスワードや認証用の鍵を読み出すことです。穴が PHP そのものにあるので、その上で動く WordPress や Drupal のコードがどれだけ丁寧に書かれていても防げません。
修正版より先に、攻撃が始まった
経緯を日本時間で並べます。2026年の日付は年を省きました。
| 日付 | できごと |
|---|---|
| 2012年 | 問題のあるコードが PHP 5.4 に入る。以後ほぼ全バージョンに残る |
| 2024年 | 外部監査で兆候が見つかるが、攻撃の手順を証明できず修正が止まる |
| 8月11日 | Calif と OpenAI が、それぞれ「実際に攻撃できる」と PHP に報告 |
| 8月24日 | Wiz が別の攻撃経路を報告 |
| 10月17日 | Amazon のおとりサーバーが攻撃の試みを記録(公開の4日前) |
| 10月21日 0時 | 脆弱性の番号が SNS や掲示板に漏れる |
| 4時半 | PHP が「21日23時に修正版を出す」と予告。予定を1日前倒し |
| 5時 | 発見者の Calif が、攻撃の実演動画を誤って公開 |
| 16時41分 | 配布元の Chainguard が約束を破り、修正入りのソフトを先に公開 |
| 16時43分 | Cloudflare の CTO が「初期の攻撃が出てきている」と投稿 |
| 午後〜夜 | 国内でサービス停止が相次ぐ。首相が X で呼びかけ |
| 23時 | 修正版の PHP 8.5.12、8.4.27、8.3.36、8.2.35 が公開 |
| 22日朝 | さくらインターネットが6時30分、エックスサーバーが6時45分に更新完了を告知 |
ふつう、脆弱性の修正版が出てから攻撃が始まるまでには、いくらか時間があります。今回はその順番が逆でした。修正版が出る前に攻撃コードが出回り、公開の6時間前には実際の攻撃が観測され、さらにさかのぼれば公開の4日前に攻撃の試みが記録されていました。
国内で止まった211の組織
国内の組織が次々にサービスを止めたのは、慌てたからではありません。修正版が来るまで、安全にする方法が「止める」しかなかったからです。WordPress 側のメンテナンス画面では防げません。PHP はアプリの判定より前に通信を読むので、アプリが止まっていても穴には届いてしまいます。
レンタルサーバー各社は夜通しで作業し、さくらインターネットは22日の6時30分、エックスサーバーは6時45分にサーバー側の更新を終えたと告知しました。このサイトを置いているレンタルサーバーも、その1社です。
攻撃する側が有利なのは、昔からです
守る側は、すべての穴をふさがなければなりません。攻撃する側は、1つ見つければ十分です。この非対称は昔から変わっていません。
それでも、これまでは釣り合いが保たれていました。穴を見つけるのにも、見つけた穴を実際に使える攻撃に仕上げるのにも、高い技術と長い時間が必要だったからです。今回の PHP の穴も、2024年の時点で「怪しい」とは分かっていました。それでも2年近く放置されたのは、本当に攻撃できると証明できた人がいなかったからです。
変わったのは、この「見つける」「証明する」「攻め方を作る」にかかる手間です。順に見ていきます。
理由1 「見つける」と「証明する」が AI で安くなった
発見者の1社である Wiz は、こう説明しています。穴は何十年も前からあったが、攻撃できると示すには人間の研究者の限界に近い複雑な手順が必要だった。最新の AI モデルがその壁を大きく下げ、昔からある穴を攻撃に変えた、と。Wiz は Gemini 4 Argon と GPT-5.6 Sol を使い、「1人の研究者が1週間で、以前なら一流チームが数か月かかった仕事を終えた」と書いています。
たとえ話で言えば、鍵の作りに弱点があることは前から知られていたが、実際にその鍵を開けられる職人が世界に数人しかいなかった状態です。AI は、その職人の仕事を安く速く代行するようになりました。
これは PHP だけの話ではありません。2026年4月に Anthropic は、未公開のモデル Claude Mythos Preview が主要な OS やブラウザで数千件の未知の穴を見つけたと発表しました。27年前から OpenBSD にあった穴や、自動テストが500万回通り過ぎていた FFmpeg の16年前の穴が含まれます。PHP 財団も、このモデルで PHP を点検してもらったと書いています。
Google の脅威情報チーム(GTIG)の10月1日の報告では、1か月に公開される脆弱性の数が、2026年1月の5,045件から8月の10,740件へ倍増しました。AI が見つけた穴は半分が遠隔コード実行につながるもので、全体の26%より高い割合です。PHP 財団も「7月1日以降に15件の脆弱性を公開し、100件を超える無効な報告をさばいた」「道具は守る側にも攻撃する側にも、かつてなく速く穴を見つける」と書いています。
理由2 「直し方」が出た瞬間に「攻め方」ができる
脆弱性には、まだ修正がない「ゼロデイ」と、修正が公開された後の「N デイ」があります。意外かもしれませんが、いま攻撃の中心は後者です。
修正版が出ると、変更された箇所が誰にでも見えます。それは「どこが穴だったか」の地図でもあります。GTIG の見方では、2026年に実際に悪用された脆弱性が月平均10.5件から18件に増えた主な理由は、ゼロデイの増加ではなく、修正済みの穴を素早く武器にする動きです。攻撃者が AI で修正や公開情報の解析を自動化している可能性も挙げられています。AI の研究エージェントが見つけた BeyondTrust 製品の穴は、公開から4日で攻撃され、7日以内に6つの攻撃グループが使いました。
この時間は年々縮んでいます。Cloud Security Alliance が今年4月にまとめた白書によると、脆弱性の公開から実際の攻撃までの時間は、2018年の756日(中央値)から2022年に約32日、2023年には約5日になりました。2025年上半期には、攻撃が確認された脆弱性の32%で、公開当日かそれより前に攻撃が始まっています。年によって測り方が違うので目安ですが、向きははっきりしています。

今回の PHP は、この縮んだ時間のいちばん短いところで起きました。修正版の6時間以上前に Chainguard が修正入りのソフトを公開し、PHP 財団は「攻撃者は修正をバイナリの形で研究できた」と書きました。Calif の動画は攻撃コードの開発を加速させ、Cloudflare は修正版の6時間前に攻撃を観測しています。Amazon のおとりサーバーに至っては、公開の4日前に攻撃の試みを受けていました。誰がどうやって情報を得たのかは分かっていません。
Amazon は報告の中で、こう勧めています。インターネットに面した重大な脆弱性は、対応の期限を時間単位で測るべきだ。7日や30日という目安は、もう存在しない遅れを前提にしている、と。
理由3 守る側は、人と組織の速さのまま
Cloud Security Alliance の白書に、この状況を一言で表した文があります。「攻撃者は機械の速さで動き、守る側は組織の速さで動く」。
守る側の数字を見てみます。白書が引く Qualys の調査では、複雑な企業向けアプリの修正にかかる平均は5か月と10日です。Edgescan の調査では、見つかった脆弱性の45.4%が1年たっても直されていません。PHP の世界でも、PHP を使うサイトのうち約35%は、サポートが終わった5系と7系を使い続けています(W3Techs)。今回、PHP 8.1 以前には正式な修正版がなく、7.4〜8.1 向けに最小限の修正コードが配られただけです。コンピューター・フォレンジックの専門家 Hal Pomeranz は「決して更新されない組み込み機器や、忘れられたアプリが大量にある。これは長く尾を引く」と述べています。
守る側の遅さは、技術ではなく人数と決め方の問題として現れます。PHP 財団は今回、修正が2年近く遅れた理由を正直に書いています。2024年に兆候を見つけたあと、修正案は複数あったが、どれも互換性や性能に影響があった。合意で動く小さなチームは選びきれず、作業は何か月も止まっては再開した。財団はこれを「構造的な失敗」と認めています。世界のサイトの7割を支える言語の守りが、財団の資金で働く少数の開発者とわずかなボランティアに頼っている。これが現実です。
AI で見つかる穴が増えても、直す側の手は自動では増えません。5月に公開された研究論文は、Claude が Firefox を2週間点検して112件を報告し、採用されたのは22件だったと紹介しています。残りを人が読んで振り分ける仕事は、減らないどころか増える一方です。論文の言い方では、これからの制約は見つけることだけでなく「受け取り、検証し、直して、配ること」です。
理由4 一つの穴が、世界の7割に届く
同じ部品をみんなが使うのは効率的です。ただし、その部品に穴があれば、全員が同時に危なくなります。
今回の穴は PHP の心臓部、メモリの管理とエラー処理の部分にありました。PHP 財団は「ほぼすべての通信が通る場所にあるからこそ深刻で、直すのも難しかった」と書いています。ネットショップの Magento、WordPress、Drupal、Joomla、Wikipedia を動かす MediaWiki、phpMyAdmin、Nextcloud など、11種類のソフトで実際に乗っ取れることが確かめられました。
もう1つ見落とされがちなのが、情報漏えいのほうです。2件のうち1件は、乗っ取りに成功しなくても、サーバーのメモリから他の利用者のパスワードや認証の鍵、API キー、証明書を読み出せます。Wiz はこれを、2014年に世界中のサーバーを揺るがした Heartbleed になぞらえています。サイトが改ざんされていなくても、中の情報が抜かれている可能性があるということです。
「黙って直す」約束が、間に合わなくなった
4つの理由を追いながら、今回いちばん考えさせられたのは、協調的な公開という約束の限界です。
脆弱性を見つけた人は、すぐ公表せず開発元に伝え、修正版が配られてから公表する。これが業界の長年の約束で、PHP 財団も「公開の2日前まではうまく機能していた」と書いています。崩れたのは、関係者が増えた最後の2日間です。脆弱性の番号が漏れ、発見者が動画を誤って出し、配布元が修正入りのソフトを先に出し、一部の重要インフラ向けに伝えた暫定策まで漏れた可能性があります。財団は公開を1日早めましたが、それ以上は早められませんでした。配布元がまだ修正版を準備している途中で、今出せば多くの利用者が更新できなくなるからです。
早く出せば配れない。遅く出せば攻撃される。公開から攻撃までが時間単位になった世界では、この板挟みの幅がほとんど残っていません。約束そのものが悪いのではなく、約束が前提にしていた速さが、もう存在しないのだと思います。
では、私たちに何ができるのか
攻撃する側が有利な状況は、当面変わらないと私は見ています。それでも、できることはあります。
サイトを運営している人は、まず自分の PHP がどこで動いているかを確かめてください。レンタルサーバーなら、事業者の告知を見れば足ります。多くの事業者はすでにサーバー側の更新を終えました。自分で PHP を入れているなら、8.5.12、8.4.27、8.3.36、8.2.35 のどれかに上げてください。WordPress やプラグインを最新にしても、この穴は直りません。穴は WordPress ではなく PHP にあるからです。PHP 8.1 以前を使っているなら正式な修正がないので、更新できるバージョンへ移る時期です。
サービスを使う側の人にも、できることがあります。使っているサービスが突然止まったら、それは守るための停止です。復旧を待ってください。そして、パスワードの使い回しをやめ、二段階認証を入れておくことです。今回のように中の情報が抜かれても、他のサービスに被害が広がるのを止められます。
全員に共通するのは、「更新は後でいい」という感覚を捨てることです。公開から攻撃までが時間単位になった以上、更新も時間単位です。自動更新を切らない。これだけで防げる攻撃が、いちばん多いはずです。
守る側にも同じ AI があります。PHP 財団は Claude Mythos で PHP を点検し、OpenAI の道具で報告の検証をしています。GTIG の勧めは、出荷する前に AI にコードを点検させることです。見つけるのが安くなったなら、守る側が先に見つければいい。それができる組織と、できない組織の差が、これから開いていくのだと思います。
私の見立て
今回の騒動を追いながら頭にあったのは、穴の数は変わっていない、ということです。この穴は14年前からそこにあり、2年前には怪しいと分かっていました。変わったのは、見つかる速さと、攻められる速さです。
攻撃は計算の仕事になりました。AI を動かす費用と時間で決まります。守りは段取りの仕事のままです。人の数と、組織が決める速さで決まります。この差が、攻撃する側が有利な理由のすべてだと思います。
いつか来ると思っていた世界が、思っていたより圧倒的に早く来ました。来週には別の話題に移っているかもしれませんが、同じことは別のソフトでまた起きます。そのとき「更新は後で」と言わずに済むように、今回のことを覚えておこうと思います。
よくある質問
- Q.PHP2Shell とは何ですか?
- A.2026年10月21日に修正版が公開された、PHPの2件の重大な脆弱性(CVE-2026-109618、CVE-2026-109619)の通称です。ログインしていない相手がサーバー上で好きなプログラムを動かせるほか、サーバーのメモリから他の人のパスワードや認証の鍵を読み出せます。穴はPHPそのものにあるので、その上で動くWordPressなどのコードが丁寧に書かれていても防げません。深刻度はCVSS 9.2で、2012年のPHP 5.4以降のほぼすべてのバージョンが対象です。
- Q.自分のサイトは大丈夫ですか。何をすればいいですか?
- A.レンタルサーバーを使っているなら、事業者の告知を確かめてください。さくらインターネットやエックスサーバーなど多くの事業者は、10月22日の朝までにサーバー側のPHPを更新したと告知しています。自分でPHPを入れているなら、8.5.12、8.4.27、8.3.36、8.2.35のどれかに上げます。WordPressやプラグインを最新にしても、この穴は直りません。PHP 8.1以前には正式な修正版がなく、7.4〜8.1向けに最小限の修正コードが配られただけなので、更新できるバージョンへ移る必要があります。
- Q.なぜ修正版より先に攻撃が始まったのですか?
- A.公表の2日前から、公開を止めておく約束が崩れたためです。10月20日(協定世界時)に脆弱性の番号がSNSや掲示板に漏れ、発見者の1社が攻撃の実演動画を誤って公開し、配布元の1社が修正入りのソフトを公開の6時間以上前に出しました。PHP財団は「攻撃者は修正をバイナリの形で研究できた」と書いています。さらにAmazonのおとりサーバーは、それより前の10月17日に攻撃の試みを記録しており、情報の出どころは分かっていません。
- Q.AIは攻撃する側だけを有利にしているのですか?
- A.守る側も同じAIを使っています。今回の穴を証明した3社はいずれも最新のAIモデルを使い、PHP財団もAnthropicの未公開モデルClaude MythosでPHPを点検し、OpenAIの道具で報告の検証をしています。Googleの脅威情報チームは、出荷前にAIでコードを点検することを勧めています。ただし私は、見つける速さが上がっても「直して配る」人手は増えていないので、当面は攻撃する側が有利なままだと見ています。
- Q.サービスを使うだけの人にできることはありますか?
- A.使っているサービスが突然止まったら、それは守るための停止なので復旧を待ってください。あわせて、パスワードの使い回しをやめ、二段階認証を入れておくと、今回のようにサーバーから情報が抜かれても他のサービスへ被害が広がるのを止められます。自分の端末やアプリの自動更新を切らないことも、公開から攻撃までが時間単位になった今はいちばん効果の大きい備えです。
参考・一次ソース
- → PHP Foundation:Today's PHP Security Release, and How We're Strengthening PHP Security(2026-10-21。経緯・前倒しの理由・「構造的な失敗」)
- → php.net:PHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 の公開告知(2026-10-21)
- → Wiz Research:PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the Internet(2026-10-21。AIの役割・発見の時系列)
- → AWS Security Blog:Amazon Threat Intelligence identifies PHP2Shell exploitation prior to public disclosure in MadPot(2026-10-21。10月17日の攻撃の試み)
- → Sansec:PHP2Shell: Critical PHP RCE(2026-10-21。確認されたアプリ・オランダの停止・暫定策)
- → Help Net Security:PHP2Shell: Critical PHP vulnerabilities patched, update now!(2026-10-21。専門家のコメント)
- → Dane Knecht(Cloudflare CTO):初期の攻撃を観測しているという投稿(2026-10-21 16:43 JST)
- → piyolog:PHPの2件の深刻な脆弱性(CVE-2026-109618、CVE-2026-109619)についてまとめてみた(2026-10-21。国内で停止した211組織の一覧)
- → 高市早苗首相の X 投稿「皆様に、今夜に対応して頂きたい大至急のお願いです」(2026-10-21)
- → IPA:【事前準備のお願い】PHPのセキュリティリリース公開予定について(2026-10-21)
- → JPCERT/CC:PHPにおける複数の脆弱性(CVE-2026-109618、CVE-2026-109619)に関する注意喚起
- → W3Techs:Usage Statistics and Market Share of PHP for Websites(2026-10-22 時点。69.3%とバージョン別の割合)
- → Google Threat Intelligence Group:Vulnerability Discovery and Exploitation Trends in the AI Era(2026-10-01)
- → Cloud Security Alliance:The Collapsing Exploit Window: AI-Speed Vulnerability Weaponization(2026-04-25)
- → Anthropic:Project Glasswing(2026-04-07)
- → Pesoli, Errico, Cavallaro:Demystifying the Mythos or Disrupting Bugonomics?(arXiv 2605.24632、2026-05-23)
⚖️ この2つを比べる
Claude Opus 5.5 vs Gemini 4 Argon
- Anthropic
- 知能スコア 58
- 料金 $4 / $20
- 知能スコア 50
- 料金 $2 / $10
料金・性能を横並びで比較 →
いま比較表に載っている版どうしの比較です。知能スコアは第三者機関 Artificial Analysis の測定値、料金は API の100万トークンあたりの入力 / 出力(米ドル)。
この記事に出てきた用語・モデル
用語をやさしく解説
この記事をシェア
引用文は「『タイトル』 - ai-garage.jp URL」の形でコピーされます。出典として URL を残したまま貼れます。
関連記事



