SUMMARY — この記事の要点
- 2026年10月21日深夜、PHPに深刻度9.2(最上位区分「Critical」)の脆弱性2件が公開された。通称「PHP2Shell」。
- 欧州ではオランダ・フィンランド・フランスなどが政府サイトを予防的にオフラインにした。日本でも高市首相がXで「大至急のお願い」を投稿する異例の事態に。
- 沖縄市はPHPを使うページを停止。沖縄にもPHP2Shellの影響は出ている。
- 一方、沖縄ツーリスト・石垣島のホテル・防災メールの漏洩は、時系列から見てPHP2Shellとは別の事件とみられる(沖縄ツーリストは原因を調査中)。
- この10月、沖縄は性質の異なる2つの災厄を受けていたことになる。
2026年10月21日の夜、日本中のウェブ担当者が眠れなかった。
午後11時。PHPの開発チームが緊急の修正版を公開する、とだけ予告されていた時刻である。
何が修正されるのかは、その瞬間まで伏せられていた。わかっていたのは「深刻度9.2」という数字だけ。
10点満点で9.2といえば、セキュリティの世界では最上位の「Critical(緊急)」に分類される。
そして同じ10月。沖縄では沖縄ツーリストが予約サイトを止め、月初めには石垣島のホテルが1万7千人分の漏洩を公表し、県内4市町の防災メールが攻撃を受けた基盤の上で動いていることが明らかになった。
しかも台風30号が接近している最中にである。
これらは、つながっているのか。
時系列を並べる限り、つながっていない可能性が高い。
そして「つながっていない」ことのほうが、実ははるかに厄介な話である。
PHP2Shellとは何か|PHPの土台に空いた2つの穴
PHPというのは、ウェブサイトの裏側で動いているプログラミング言語である。
あなたが今読んでいるこのページも、WordPressという仕組みで動いていて、その中身はPHPで書かれている。
WikipediaもPHPだ。世界中のウェブサイトのうち、裏側の言語が判明しているものの約7割がPHPを使っている。
CVE-2026-109618とCVE-2026-109619の概要
ALERT — PHP2Shell
CVSS v4.0 の深刻度。9.0以上は最上位区分の「Critical(緊急)」。2件とも同じ評価。
発見者のWiz社によれば、影響を受ける最も古いPHPバージョン。過去10年以上のほぼ全バージョンが対象となる。
サーバー側の言語が判明しているウェブサイトのうち、PHPが占める割合(W3Techs調べ)。
修正版は PHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 の4つ。
影響を受けるのは、ウェブからのアクセスを処理しているPHPすべてである。
PHP-FPM(PHPを高速に動かすための常駐方式)、Apacheのmod_php、php-cgi、FrankenPHP、LiteSpeed——どの動かし方をしていても対象になる。
「アプリが安全なら大丈夫」が通用しない理由
よくある脆弱性は、特定のプラグインやテーマに穴があるという話だ。
それなら「そのプラグインを使っていなければ関係ない」で済む。
今回は違う。穴が開いていたのはPHPという土台そのものだった。
建物に例えるなら、鍵が壊れていたのではなく、基礎コンクリートに空洞があった。
どんなに立派な扉を付けていても関係ない。
発見した米クラウドセキュリティ企業Wiz(ウィズ、Google傘下)の実証はえげつない。
WordPress、Drupal、Joomla——いずれもWordPressと同じくウェブサイトを構築するための代表的なソフトだ——の最新版コンテナイメージに対して、ログインせずにサーバー上でプログラムを実行できることを示してみせた。しかも同社はこう付け加えている。
脆弱なPHPで動いていれば、「Hello World」とだけ表示する単純なプログラムですら攻撃可能だ、と。
脆弱性の仕組み|メモリの「後片付け失敗」とは
2件とも、乱暴にまとめれば「メモリの後片付け失敗」である。
PHPは処理中にメモリ不足などの致命的エラーが起きると、途中で処理を打ち切る。
このとき本来なら内部の状態をきれいに消すはずが、消し忘れが発生する。
そして次に来た別の人のリクエストが、その消し忘れた残骸を「正常なデータ」だと信じて使ってしまう。
レストランの皿洗いに例えるなら、前の客の食べ残しが付いたままの皿を、洗い終わった皿として次の客に出してしまうようなものだ。
運が悪ければ食中毒、運が良くても気分は最悪である。
地味だが見逃せない副作用もある。Heartbleed型のメモリ漏洩だ。
サーバーを乗っ取るところまで行かなくても、サーバーのメモリ上にある他人のパスワード、認証トークン、APIキー、証明書が外から読み取れてしまう。
2014年にインターネットを震撼させたあの事件と同じ種類の被害である。
中核にあるのは session.upload_progress という機能だ。
ファイルアップロードの進捗を表示するためのもので、PHPはこれをリクエストのごく初期——通常の初期化が終わる前——に処理する。
この早すぎるタイミングでメモリ不足が起きると、ポインタ(メモリ上のどこにデータがあるかを指し示す住所のようなもの)が、すでに解放された場所を指したまま残る。
そしてPHPはそれを生きたデータだと信じ、中身をPHPSESSIDというクッキーに詰めて返してしまう。
厄介なのは、アプリ側が session_start() を一度も呼んでいなくても成立する点である。
「うちはセッションなんか使っていない」は、残念ながら言い訳にならない。

PHP2Shellの開示が崩れた3日間|リークから緊急パッチ公開まで
この手の重大な脆弱性は、本来なら静かに処理される。
発見者がこっそり開発元に伝え、修正版が用意され、準備が整った瞬間に「問題がありました、もう直っています」と同時発表する。これを協調開示という。
今回、その手順が崩れた。
TIMELINE — 発見から公開まで(日本時間)
2026年8月11日
セキュリティ企業Calif(キャリフ)が1件目をPHPに報告。
8月19〜24日
Wiz Researchが独立して発見。翌日にはDrupal、翌々日にはWordPressへの認証なし攻撃を実証し、24日にPHPへ報告。
9月21日
PHP側が報告を認め、修正の開発に着手。
10月21日 未明
Hacker Newsへの投稿で、脆弱性の存在と公表予定日が漏洩。手口の詳細は含まれていなかったが、PHPは公開を1日前倒しすると告知した。
10月21日 12:02
Cloudflareが、無料プラン含む全WAF(ウェブへの攻撃を手前で遮断する仕組み)利用者を自動保護。同社はこれを「公開の約9時間前」としている。
10月21日 23:00
修正版 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 を公開。
PHP Foundationの怒りが伝わってくる声明がある。
協調公開の6時間前、ある事業者が事前入手した修正入りイメージを先に公開してしまった件について、同団体はこう書いた——攻撃者は他の全PHPユーザーが待たされている間に、修正内容をバイナリで研究できた。
多数の関係者が数週間かけた協調作業が台無しにされた、と。
セキュリティの世界では、よく「防御側は常に不利だ」と言われる。
攻撃側は一つ穴を見つければいいが、防御側は全部塞がなければならないからだ。
今回はそこに情報管理の失敗まで加わった。
世界への影響|欧州各国が政府サイトを停止した
日本の報道を見ていると「大手サービスが緊急メンテに入った」程度の印象かもしれない。
ヨーロッパの光景はまるで違った。
- オランダ:
国家サイバーセキュリティセンター(NCSC)自身がサイトを落とした。それに倣って政府ポータルOverheid.nl、MijnOverheid.nl、国民デジタルID「DigiD」、下院(Tweede Kamer)のサイト、ロッテルダム港、サッカー協会KNVB、主要5政党のサイト、複数の病院サイトが停止。 - フィンランド:
政府IT機関Valtoriが、政府の公開ネットワークサービスを予防措置として全面停止。 - フランス:
内務省が県庁(プレフェクチュール)の行政サイトを一時停止。 - ドイツ:
連邦のIT事業者ITZBundが複数サイトを停止。 - ベルギー・チェコ:
外務省や政府機関が一部サイトを予防的に停止。 - Wikimedia Foundation:
Wikipediaを運営する財団も予防的にサイトを停止した。
国民が行政手続きに使うIDシステムを、政府が自ら引き抜いたのである。しかも「攻撃されたから」ではない。
「攻撃される前に」だ。それだけの危険度だと各国政府が判断した、ということになる。
PHP2Shellは実際に悪用されているのか
ここは正直に書く。情報が割れている。
攻撃監視を手がけるwatchTowrは、世界中に仕掛けたおとりサーバー網で10月21日、実環境での悪用の試みを観測したと発表した。ただし同社は、成功した攻撃はまだ確認していないとしている。
攻撃対象の調査を手がけるHadrian社は「大規模に悪用されている」と報告。
一方で米国のCISA(サイバーセキュリティ・インフラ安全保障庁)は公開時点では悪用を確認しておらず、既知悪用脆弱性カタログ(KEV)にも登録していない。
「もう攻撃されている」と断定する記事も、「まだ大丈夫」と安心させる記事も、どちらも現時点では言い過ぎだろう。確かなのは、攻撃を試みる通信はすでに飛んでいるという点である。
規模感も押さえておこう。
ネット上の機器を検索するサービスShodanのバナー情報(サーバーが外部に返す自己紹介のような文字列)を集計したところ、PHP 8.1以前を示すインターネット露出ホストは約88万4,000台にのぼった。
ただしこれは「そう名乗っている数」であって「脆弱性が確認された数」ではない。
PHP2Shellを発見したのはAIだった
この事件には、日本の報道がまだほとんど触れていない側面がある。
PHP2Shellを見つけたのは、パーカーを着たハッカーではない。AIである。
Wiz Researchは自社のWiz Atlas、GoogleのGemini 4 Argon、OpenAIのGPT-5.6 Sol を研究全体で使用したと明かしている。
特にGemini 4 Argonが脆弱性の発見、攻撃コードの開発、検知手法、そしてパッチの検証にまで決定的な貢献をしたという。
もう一方のCalifは、OpenAIが2026年6月に発表した「Patch the Planet」という枠組みの下で動いており、8月1日に最初の脆弱性を発見、11日にPHPへ報告している。
Wizの総括がこの事件の性質を言い当てている。欠陥そのものは数十年前から存在した。
しかし悪用できると実証するには、人間の研究者が現実的に到達できる限界ぎりぎりの、極めて複雑な工程の連鎖が必要だった。
フロンティアAIモデルがその障壁を劇的に下げ、長年放置された欠陥を実際のエクスプロイトに変えた——と。
そして、こう書いている。世界最高レベルのチームが数カ月かかる仕事を、研究者1人が1週間で終えた。
OpenAI社長のグレッグ・ブロックマン氏によれば、この脆弱性はPHPに14年間存在し、2024年に限定的な形で一度は表面化していたが「当時は重要視されなかった」。
14年間誰も掘り起こせなかったものを、AIが2カ月で掘り当てたことになる。
今回は幸運にも、見つけたのが防御側だった。問題は、同じ道具が攻撃側の手にもあるということだ。
Wiz自身が認めている——AIは発見と悪用の両方の経済学を変える、と。
この論点は本題から逸れるほど大きいので、別途1本の記事として掘り下げる。
日本国内への影響|高市首相が「大至急のお願い」を投稿
10月21日夜、高市首相が自身のXに投稿した。
修正パッチをすぐに適用できない場合は、ウェブサイトを一時的に停止することもリスク低減の有効策だ、という内容である。
皆様に、今夜に対応して頂きたい大至急のお願いです。 多くのウェブサイトで使用されているPHPに関し、PHPのセキュリティチームが、重大な2件の脆弱性に関する注意喚起を行っています。 公開しているウェブサイトでPHPを使用しているか確認し、今夜、10月21日午後11時(日本時間)に公開される修正パッチについて、可及的速やかに適用できるよう準備をお願いします。 修正パッチを速やかに適用することが困難な場合は、例えばウェブサイト等を一時的に停止させることも、リスクを低減させるための有効策の一つと考えられます。 国家サイバー統括室のXアカウントでも関係する情報を発信していますので、そちらも参考にして下さい。 国家サイバー統括室(注意・警戒情報)(@cyber_forecast) / X
— 高市早苗 (@takaichi_sanae) October 21, 2026
一国の首相が特定のプログラミング言語の更新について呼びかける。筆者の記憶にある限り、前例がない。
国家サイバー統括室とIPA(情報処理推進機構)も同日に注意喚起を出している。
これを受けて、国内では一斉に灯りが消えた。
BASE、コドモン、pixiv、DMM.com、niconico、さくらインターネットの一部サービスが緊急メンテナンスへ。
報道によれば財務省も関連ウェブコンテンツを一時停止した。
創作・出版系ではpictSQUARE、文学フリマ、アルファポリスが止まり、一部自治体もシステム停止を予告している。
ついでに記録しておくと、この夜には「スマホやWi-Fiの電源を切れ」という珍妙な誤情報も拡散した。
サーバー側の話なのに、利用者の端末が危ないと誤解されたのである。
パニックというのは、だいたいこういう形で発生する。
沖縄への影響|性質の異なる2つの事件
さて、本題である。
①沖縄市がPHPを使うページを停止
沖縄市のDX推進課は10月22日付で「PHPの脆弱性に伴うページの一時停止について」を公表した。
停止対象はオープンデータカタログページ、ダッシュボードページ、その他PHPを利用しているページである。
派手さはないが、これは沖縄にもPHP2Shellの影響が及んでいることの一次証拠だ。
オランダ政府がDigiDを落としたのと、構造としてはまったく同じ判断である。規模が違うだけで。
②沖縄ツーリストの情報漏洩はPHP2Shellなのか
10月21日、沖縄ツーリスト(OTS)が、運営する予約サイトで顧客の個人情報が漏洩した可能性があると発表した。
停止されたのはOTSレンタカー、OTS HOTEL、OTS ACTIVITIES、デジタルDMOプラットフォーム、OTS Clubの5サービス。
社外からの問い合わせをきっかけに調査したところ、漏洩の可能性が確認されたという。
同じ週にPHPの大事件があったので、当然「PHPのせいか」と思う。筆者もそう思った。だが時系列が合わない。
CROSS-CHECK — 時系列の矛盾(すべて日本時間)
10月18日
OTSが該当サイトへの外部アクセスを遮断
10月20日 16:30
OTSが5サービスの新規予約受付を停止
10月21日 未明
PHP2Shellの存在が初めてネットに漏洩
10月21日 23:00
PHPが修正版を公開
OTSが遮断したのは、脆弱性の存在が漏れる約3日前。PHP2Shellが原因なら、攻撃者は当時まだ誰も知らない手法を先回りして使っていたことになる。可能性はゼロではないが、きわめて考えにくい。

では何が起きたのか。OTSは原因を調査中としており、現時点で断定はできない。
ただし、2026年9月から10月にかけての日本では、まったく別の種類の事件が連続して起きていた。
「委託先ベンダーが落ちると、顧客企業がまとめて落ちる」型の漏洩である。
③石垣島のホテルで旅券画像234人分が流出
その典型が石垣島で起きている。
リゾーツ琉球が運営する「ホテルリゾートイン石垣島」の公式発表(10月5日)によれば、同ホテルが利用している宿泊管理システムが、2026年9月18日夜から19日夕方にかけて第三者による不正アクセスを受けた。
重要なのは、やられたのがホテルではなくシステム提供事業者だという点だ。
発表には「同システムを利用する複数の施設で」個人情報が不正取得されたと書かれている。
- 対象人数:
17,170名(2023年2月12日〜2027年6月24日の宿泊者・予約者と同行者) - 取得された情報:
氏名、フリガナ、メールアドレス、電話番号、郵便番号、住所、生年月日、性別、職業、国籍、入国地、ニックネーム、事前チェックイン用の4桁番号 - 画像:
旅券(パスポート)画像234名分、署名画像6名分、顔写真5名分 - 含まれなかったもの:
クレジットカード情報、予約サイト・SNS・メールのパスワード - 当局対応:
個人情報保護委員会へ9月28日に関連各社連名で速報を提出済み
クレジットカード情報が含まれていなかったのは不幸中の幸いだ。
だが旅券画像234名分という事実の重みは、カード情報どころではない。カードは止めて再発行すればいい。
パスポートの顔写真ページは、氏名・生年月日・国籍・旅券番号・顔写真が一枚に揃った、本人確認のフルセットである。再発行しても「過去に流出した」事実は消えない。
観光立県にとって、これは象徴的な事故だ。
インバウンド客を受け入れるために本人確認を厳格化し、パスポートをスキャンして保管する——その真面目な運用が、そのまま攻撃者にとっての宝の山になっている。
④防災メール配信システムへの不正アクセス
そして、この記事で最も書きたかったのがこれである。
大阪府箕面市のアルカディアが運営する一斉情報配信サービス「SpeeCAN RAIDEN(スピーキャン・ライデン)」が不正アクセスを受けた。
同社は10月11日16時30分に不審な挙動を検知し、12日未明に侵入経路を応急封鎖。漏洩の可能性があるメールアドレスは最大約313万6,000件。
報道によれば、このサービスは全国700以上の自治体が採用している。
琉球新報によると、沖縄県内では浦添市、糸満市、宮古島市、南風原町が影響を公表した。
さらにアルカディアの災害時安否確認サービスを使っていた沖縄県警でも、警察官・職員の個人情報が流出した可能性がある。
県河川課も、県河川情報システムに登録されたメールアドレス75件の漏洩を公表している。
全国では、警察庁によると22府県警で職員ら約12万5,000件、防犯メール登録住民約1万6,000件が流出した可能性があるという。
THE REAL PROBLEM — 件数ではない
侵害されたのは、情報を保管している場所であると同時に、災害時に情報を送り出す経路そのものだった。
漏洩の可能性がある情報には、聴覚や言語に障害のある人が119番通報に使う「NET119」の登録情報も含まれていた。
そして今、台風30号が沖縄に接近している。
住民に危険を知らせる仕組みと、危険を知らせる側の職員の連絡網が、同じ一つのサービスの上に載っていた。
だからベンダーが1社落ちただけで、両方が同時に揺らいだ。
効率を追えばこうなる。
700を超える自治体が同じ仕組みを使えば、コストは下がり、運用は標準化され、小さな町村でも高度な防災配信ができる。
それは紛れもなく正しい進歩だった。ただしその代償として、同じ一点で同時に倒れる構造も一緒に買っていた。
なお、沖縄県内の4市町はいずれも21日時点で防災メールの運用自体は継続していると報じられている。
そこは冷静に押さえておきたい。
沖縄が受けた2つの災厄の違い
整理するとこうなる。
- 事件A(PHP2Shell):
世界同時多発。土台の欠陥。沖縄市のページ停止という形で影響が出た。
原因が明確で、対処法も「更新する」の一択。 - 事件B(ベンダー陥落の連鎖):
9月から静かに進行。石垣島のホテル、アルカディア、そしておそらく沖縄ツーリスト。
原因はバラバラで、被害を受けた企業自身には落ち度がないことも多い。

派手なのはAだ。首相が投稿し、欧州政府がサイトを消し、世界中のメディアが報じた。
だが沖縄に関わる人の個人情報が実際に漏れた、あるいは漏れた可能性があるのはBのほうである。
しかもBには「祭り」がない。パッチもない。
発表は淡々と、各社バラバラのタイミングで出てきて、1週間も経てば誰も覚えていない。
自分で守れるのはAだけで、Bは「自分が利用した企業の、そのまた委託先」という、顔も名前も知らない相手の手に委ねられている。
レンタカーを借りるとき、そのホテルを予約するとき、予約システムのベンダーがどこかなど誰も確認しない。
確認する手段すらない。
これが2026年10月に見えてきた構造である。

PHP2Shellへの対処法|今すぐやるべきこと
サイトを運営している人がやること
ACTION — サイト運営者
- 管理画面で現在のPHPバージョンを確認する。
- 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 のいずれか、もしくは契約先が「対策済み」と明示するバージョンへ更新する。
- レンタルサーバー利用者は、更新が事業者側で一括実施されるのか、自分で切り替えが必要なのかを事業者の告知で確認する。
- 更新後、PHP-FPMやApacheを再起動し、実際に動いているPHPが修正版に切り替わったかを確認する(ここを忘れると、更新したつもりで何も変わっていない)。
- サイトの主要機能が壊れていないかを一通り触って確認する。
PHP 8.1以前を使っている場合は注意が必要だ。
PHPプロジェクトは8.1以前のサポートをすでに終了しているが、今回はあまりに深刻なため、7.4・8.0・8.1向けにも最小限のソース版の修正が提供された。
とはいえ、これを機にサポート中のバージョンへ上げるのが筋である。
サイトを使っているだけの人がやること
ACTION — 一般利用者
- スマホやWi-Fiを切る必要はまったくない。これはサーバー側の問題である。
- 見られないサイトがあっても、多くは「攻撃された」のではなく「攻撃される前に自分で止めた」状態。復旧を待つのが正解。
- 沖縄ツーリストや石垣島のホテルを利用したことがあるなら、その会社を装った不審なメール・SMS・電話を警戒する。
- リンクを踏んで個人情報やカード情報を入力しない。本物の企業は、メールのリンクからカード情報の入力を求めない。
- 複数サイトで同じパスワードを使い回しているなら、今週中に変える。漏れた情報を組み合わせた攻撃は、必ず後からやってくる。
PHP2Shellに関するよくある質問
- QPHP2Shellとは何ですか?
- A
2026年10月21日に修正版が公開された、PHPの重大な脆弱性2件(CVE-2026-109618、CVE-2026-109619)の通称です。深刻度はCVSS v4.0で9.2、最上位区分の「Critical」に分類されます。認証なしで外部からサーバー上のプログラムを実行される恐れがあり、サーバーのメモリ内容が外部に漏れる問題も含みます。発見したWiz社によれば、PHP 5.4以降のほぼ全バージョンが対象です。
- QPHPはどのバージョンに更新すればよいですか?
- A
PHP 8.5.12、8.4.27、8.3.36、8.2.35のいずれかです。レンタルサーバーを使っている場合は、事業者側で一括更新されることが多いため、まず契約先の告知を確認してください。更新後はPHP-FPMやApacheの再起動を行い、実際に動作しているバージョンが切り替わったかを確認する必要があります。
- QスマホやWi-Fiの電源を切る必要はありますか?
- A
必要ありません。これはウェブサイトを動かすサーバー側の問題であり、利用者の端末や自宅のWi-Fiとは関係ありません。SNSでそうした情報が拡散しましたが誤りです。
- Q沖縄ツーリストの情報漏洩はPHP2Shellが原因ですか?
- A
沖縄ツーリストは原因を調査中としており断定はできませんが、可能性は低いとみられます。同社が該当サイトへの外部アクセスを遮断したのは10月18日で、PHP2Shellの存在がネットに漏れた10月21日未明(日本時間)より前だからです。2026年9月以降に相次いでいる、委託先システム事業者への不正アクセスによる漏洩と同種である可能性があります。
- Q自分の情報が漏れたかどうかを確認する方法はありますか?
- A
各社が設置した問い合わせ窓口で確認できます。ホテルリゾートイン石垣島の場合は専用窓口(050-1809-4180、平日9:00〜17:00)が設けられ、対象者には通知メールが配信されています。沖縄ツーリストについては調査中のため、同社の公式サイトでの続報を確認してください。なお、企業側から電話やメールでカード情報の入力を求めることはありません。
まとめ|脆弱性は直せても、構造は直らない
PHP2Shellは、AIが14年眠っていた欠陥を叩き起こした事件として記憶されるだろう。
防御側にとっては朗報であり、同時に警告でもある。同じ道具は、すでに攻撃側も持っている。
だが沖縄に住む人間として、この10月で本当に応えたのは別のことだ。
台風が近づく島で、住民と職員をつなぐ防災の連絡網が、顔の見えない一社の障害でまとめて揺らいだ。
観光客が真面目に差し出したパスポートの画像が、ホテルではなくその裏側のシステムから流れ出た。
どちらも、利用者には防ぎようがない。
脆弱性は更新すれば直る。だが「誰かに預けるしかない」という構造は、更新では直らない。
沖縄ツーリストの調査結果が出次第、続報をお届けする。
コメント