※本ページはプロモーションが含まれています

ほぼ毎日 ヤバいセキュリティ情報

世界の7割が射程に──PHP緊急脆弱性「PHP2Shell」の全貌と各社の対応状況

2026年10月21日、PHPの開発チームが緊急のセキュリティ更新を公開した。通称「PHP2Shell(ピーエイチピー・ツー・シェル)」。識別番号はCVE-2026-109618とCVE-2026-109619、深刻度はどちらもCVSS v4.0で9.2、最高区分の「緊急」である。

サーバー側の言語が判別できたWebサイトの約7割がPHPで動いている。今回の欠陥はそのPHP本体にあり、アプリ側のコードが完璧でも関係ない。21日の夜から国内でも大手サービスが次々と緊急メンテナンスに入り、首相がXで注意を呼びかける事態になった。

さらに特異なのは「見つけたのがAIだった」という点だ。20年以上コードの中に眠っていた欠陥が、2026年の夏に掘り当てられた。

サイトを持っている人が今日やること
1. PHPの版を確認する。修正版は8.5.12・8.4.27・8.3.36・8.2.35
2. 共用のレンタルサーバーなら事業者のお知らせを見る。入れ替えは事業者側の作業
3. 更新後にWebサーバーとPHPのワーカーを再起動する。ここを忘れると直らない

PHP2Shellとは何だったのか

2件ともメモリ安全性(メモリ・セーフティ)の欠陥だ。起きていることは単純で、PHPが処理の途中で力尽きたとき、片付けが中途半端なまま次の仕事に移ってしまう。これに尽きる。

ホテルで例えるなら、前の客のルームキーを回収し忘れたまま同じ部屋を次の客に割り当てている状態だ。前の客は入れるし、置き忘れた荷物も持ち出せる。PHPのワーカー(処理を受け持つ常駐プロセス)は使い回されるので、これが現実に起きる。

識別番号 何が起きるか
CVE-2026-109618
(OOM破壊型)
メモリ枯渇(OOM)で処理が強制中断されると、初期化が終わっていないデータを後片付けの処理が「正常なデータ」として扱ってしまう
CVE-2026-109619
(残留状態型)
終わったリクエストの内部状態が解放済みメモリを指したまま残り、同じワーカーが受けた次のリクエストがそれを読む(解放後使用)

攻撃者にログインは要らない。とくにApacheとPHPを一体で動かすmod_php構成では、アプリのコードが1行も動く前に攻撃が成立する経路が実証されている。「WordPressを最新にしているから大丈夫」は成り立たない。

影響はPHP 5.4以降。ここ10年ほどに出たPHPはほぼ該当する。中身が「Hello World」だけのページでも条件は同じだ。

修正版の一覧
8.5系 → 8.5.12  8.4系 → 8.4.27  8.3系 → 8.3.36
8.2系 → 8.2.35(ただし2026年12月末でサポート終了)
8.1以前は対象外。今回は特例として7.4・8.0・8.1向けに最小限の修正ソースのみ提供された

誰が、どのAIが見つけたのか

発見は2つの組織が独立して行った。どちらも2026年8月だ。

1つめはクラウド保安大手のWiz Research。8月19日に最初の欠陥を発見し、20日にDrupal、21日にWordPressへの認証不要の遠隔コード実行を確認、24日にPHPのセキュリティチームへ報告した。

2つめは少数精鋭の調査会社Calif(カリフ)。8月1日に独立して複数の経路を発見し、11日と21日に報告している。きっかけはOpenAIが進めるオープンソース支援「Patch the Planet(パッチ・ザ・プラネット)」への招待だった。

20年越しのたどり方
2004年 研究者Stefan Esser氏が、メモリ上限を悪用する最初のPHP遠隔欠陥を発見。これが源流になる
2020年と2024年 同種の不具合が報告されるが、悪用を実証できず未修正のまま
2026年8月 AIの支援で悪用が実証され、2組が独立して到達。協調開示が始まる
10月20日と21日 情報が外部へ漏れて公開を1日前倒し。修正版と技術詳細を同時に開示

使われたAIは公表されている。Wiz側は自社の調査エージェントWiz Atlasに加え、Gemini 4 ArgonとGPT-5.6 Solを併用。とくにGemini 4 Argonが、発見から攻撃コードの開発、検知の作成、修正の検証まで大きく寄与したと明記されている。

Calif側の担当はRyan Austin氏。特別な実験環境は使わず、一般提供のモデルだけで最初の欠陥に到達したという。2004年の古い研究を手がかりにメモリ上限を超える方法を探し、見つけたパターンを「状態を公開してから失敗しうる処理を行う」という一般形に言語化して全体を再捜索させた。2件目はここから出た。

ここは分析:Calif側は「モデルに丸投げしても全部のバグが出るわけではない。標的の歴史を知っていることが効いた」と釘を刺す。一方で、1人の研究者が1週間で、従来なら世界最高水準のチームが数か月かける仕事を終えたという評価もある。「AIが自動で見つけた」ではなく「人の勘所にAIの持久力が乗った」と読むのが実態に近い。

サイトにはどんな影響があるのか

1つは乗っ取り。Webサーバーの権限で任意のコードを実行され、改ざん、データの持ち出し、横展開につながる。

もう1つはメモリの中身の漏えい。稼働中のPHPのプロセスが抱えるパスワード、認証トークン、API鍵、証明書などが、自分のリクエストとは無関係に、他人の分まで読み取られる。2014年のHeartbleed(ハートブリード)と同じ性質で、コードを実行しなくても情報だけ抜ける。

実証対象はWordPress、Drupal、Joomlaといった主要CMSのほか、MediaWiki、Nextcloud、Magento、Laravel、Symfony、phpMyAdminなど。ただし欠陥はPHP本体にあるので、これらを使っていなくても対象になる。

攻撃がアプリより下の層で終わるため、アプリの記録には何も残らないことが多い。更新を当てた後、次の兆候を確認しておきたい。

・異常に大きい、または壊れたセッション用のクッキーが返っている
・巨大なmultipart形式の送信の直後に、メモリ上限のエラーやHTTP 500が続いている
・PHPのワーカーが説明のつかない頻度で落ちている、再起動している
・公開ディレクトリや一時領域に、見覚えのないPHPファイルがある
・管理者に、追加した覚えのない利用者が増えている

更新は今後の攻撃を止めるもので、適用前に入られていた被害までは戻らない。

各国・政府の対応

動きは早かった。公開前の段階から、ホワイトハウスの関連部署、国家サイバー長官室(ONCD)、サイバー保安・社会基盤安全保障庁(CISA)へ事前共有が行われていたとOpenAIが公表している。

公開当日、CISAは即時の更新を強く要請した。踏み込み方が異例で、「すぐに更新できない組織や、サポート切れのPHP 8.1以前を使い続けている組織は、更新できるまでシステムを停止せよ」とまで書いている。

米国 CISA 即時更新を要請。未対応なら停止も求める。資産の棚卸しと、外部に面した系統からの優先適用を指示
英国 NCSC 使用箇所の洗い出しと即時更新の準備。困難ならオフライン化の検討を勧告
欧州 CERT-EU 公開前の20日に勧告。2件の識別番号と深刻度を先行して提示
日本 IPA 修正版の公開前から注意喚起を出し、事前準備を呼びかけ
日本 政府 高市首相がX上で対応を呼びかけ。財務省は関連するWebコンテンツを一時停止

一国の首相が個別の脆弱性に言及するのは、まず記憶にない。それだけ異例だったということだ。

悪用の有無は、まだ評価が割れている:21日時点でCISAは「悪用は確認していない」とし、既知悪用の一覧にも未収載。一方でwatchTowr社は観測網で攻撃の試行を確認し、Hadrian社は「大規模に悪用されている」と報告している。断定できる段階ではないが、攻撃コードは公開済みで、様子見をする理由はない。

業界・サービス各社の対応

事前の根回しの規模が大きい。公開前に守りを固めていたのは、Google CloudとCloudflare、AWSとMicrosoft、AutomatticとFastly、AkamaiとImpervaなどだ。主要な経路を止めるWAF(ウェブ・アプリケーション・ファイアウォール)の規則が、公開と同時に効き始める体制が組まれていた。

国内のレンタルサーバー各社も21日午後から一斉に動いた。共用プランでは利用者がPHP本体を入れ替えられないので、ここは事業者任せになる。

事業者 対応の内容
エックスサーバー 21日16時から公式サイトと管理画面を停止。22日未明に、8.2から8.5への修正適用と古い系統向けの独自修正を案内
さくらインターネット 一部ホストで再起動を伴う緊急保守を21日22時半に完了。仮想専用サーバーは22日夕方までを予定
ロリポップ 予防措置として緊急保守。サービスサイトと利用者向けページを停止
ConoHa WING 21日19時から22日10時にかけ、一部サーバーで保守作業
KAGOYA 8.2から8.5は修正版の確認後に順次更新。他プランは方針を調整中
KUSANAGI 独自パッケージのため公式版を直接入れられない。22日未明までに4系統の修正を公開。自動更新を切った環境は手動適用が必要

21日午後からはBASE、コドモン、pixiv、ニコニコ、ゲーム各社なども全部または一部を停止した。

Linuxの配布元は温度差がある。22日未明の時点でUbuntuとDebianは修正済み、Arch LinuxとGentooも対応済み。一方でRHEL系は一部の系統のみ、Rocky Linuxは未対応、Amazon Linuxも待ちだった。どの配布元を使っているかで、届く時刻がまるで違う。

サポート切れの版への対応も異例だった。PHP公式が7.4・8.0・8.1向けに最小限の修正ソースを出し、Suryのリポジトリは5.6まで遡って取り込んでいる。ただし「最小限の緩和」と明記されており、延命策であって解決ではない。

PHP以外に問題になりそうなことはないのか

ここからが本題だ。OpenAIは今回の発表に「同種の発見は今後数か月で急増すると見込んでいる」と書いた。すでに他にも重大な欠陥を見つけて対応中だともいう。PHP2Shellは単発の事故ではなく、これから続く一連の最初の1本という位置づけだ。

1. C言語で書かれた長寿命の基盤ソフト。言語処理系、画像の読み込み、通信の実装、圧縮の処理。どれもメモリ管理を手作業でやっており、20年分の「悪用は難しいから後回し」が積み上がっている。

2. 攻撃の難易度が下がったこと。メモリ破壊の悪用は対象ごとに配置が変わるため、1つ作っても他では動かなかった。この調整こそが事実上の防壁だった。それをモデルが肩代わりできる以上、「複雑だから安全」は成り立たない。

3. 開示の仕組みそのものの弱さ。公開予定日の2日前に情報が漏れ、PHP側は前倒しを強いられた。事前共有を広げるほど守りは厚くなるが、漏れる確率も上がる。

4. サポート切れの放置。PHPを使うサイトのうち7系が約27パーセント、5系が約8パーセント。外部調査では公開中のPHPの約8割がサポート外という数字も出た。そこに恒久的な修正は来ない。

5. 供給網(サプライチェーン)の汚染。同じ10月21日、AI関連の人気ライブラリに認証情報を盗む不正版が混入する事件も起きている。入口はPHPだけではない。

守る側にも同じ道具は渡っている。OpenAIはオープンソースの維持者へ利用枠と資金面の支援を打ち出し、重要インフラ向けに10億ドル規模の補助枠も用意した。長期的には記憶安全な言語への移行や形式検証を進めたいとも述べている。攻守どちらが速いかという競争に、構図が変わった。

まとめ

やることは単純だ。PHPを修正版へ上げて、ワーカーを再起動する。共用サーバーなら事業者のお知らせを追う。8.1以前を使っているなら、移行の計画を今週中に立てる。

だが本当の論点はPHPそのものではない。20年埋もれていた欠陥が、2026年の夏に数日で掘り出されたという事実のほうだ。それが守る側の手で先に行われたのは、ひとまず幸運だった。次も同じとは限らない。

「複雑すぎて現実には悪用できない」という前提に寄りかかった防御は、順番に崩れていく。自分の管理下に、その前提で据え置いた箱がいくつあるか。週明けまでに数えておいて損はない。

主な出典:PHP公式の勧告、php2shell解説サイト、Wiz Researchの技術解説、Calif Researchの報告、OpenAIの協調開示に関する発表、CISAの注意喚起、各事業者の告知(2026年10月21日から22日に確認)

-ほぼ毎日 ヤバいセキュリティ情報
-, , , , , , ,

Copyright© IT小僧の時事放談 , 2026 All Rights Reserved Powered by AFFINGER5.