緊急PHPに致命的な脆弱性(CVSS 9.2)。Creemaと札幌市も予防的にサイトを停止最新情報 ›
無料で相談する

【10/22最新】php2shellは誰が見つけた? AIによる発見の経緯と海外の対応・悪用状況まとめ

公開:10/22 01:00更新 (日本時間)Webセキュリティ診断センター 編集部約15分で読めます
【10/22最新】php2shellは誰が見つけた? AIによる発見の経緯と海外の対応・悪用状況まとめ
#php2shell#PHP#AI#脆弱性
この記事の要点(2026年10月22日 0時台に確認)
  • php2shell(CVE-2026-109618 / CVE-2026-109619)は、セキュリティ企業の Calif、Wiz、AI企業の OpenAI がそれぞれPHPに報告しました。どの社も、調査にAI(大規模言語モデル)を使ったと説明しています。
  • 修正版の公開は10月22日の予定でした。21日 0時ごろ(日本時間)にCVE番号が出回ったため、PHPは公開を1日早めました[PHP Foundation]。
  • Cloudflareは「攻撃の通信を観測した」、watchTowrは「攻撃の試みを観測した」と発表しています。一方で、米国CISAの「悪用が確認された脆弱性」の一覧には、確認した時点で載っていません。攻撃の試みは報告されていますが、侵入に成功した被害の公表は見つかっていません。
  • 日本の利用者がやることは変わりません。PHP本体を修正版に更新することです。

この記事の見方

PHP本体の脆弱性2件(通称php2shell)の修正版、PHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35が10月21日に公開されました[php.net]。脆弱性の中身と対策はphp2shellの解説記事にまとめています。

この記事では、海外で公開された情報から「誰がどう見つけたのか」「海外の企業や政府はどう動いたのか」「実際に悪用されているのか」を整理します。各ページは、2026年10月22日 0時台(日本時間)に開いて確かめました。状況が変わりしだい追記します。

時刻は出典の表記(多くは協定世界時、UTC)に日本時間を添えています。日本時間は協定世界時に9時間を足した時刻です。書き分けは次のとおりです。

時系列:発見から公開まで

php2shellの時系列。2024年の外部監査で最初の兆候、2026年7月30日にCalifが調査開始、8月11日にCalifとOpenAIが報告、8月24日にWizが報告、9月18日にOpenAIが別の経路を報告。10月21日0時ごろCVE番号が出回り、4時30分にPHPが公開を前倒し、12時02分にCloudflareの防御が有効に、16時41分にChainguardが修正版を先に配布、22時34分から23時04分に修正版と各社の発表
図1 発見から公開までの流れ(下段は日本時間)

発見から修正まで(2024年〜2026年10月)

時期出来事出典
2024年PHPの外部監査(OSTIFの調整でQuarkslabが実施)で見つかった問題を直す途中で、PHPの開発者が今回の原因につながる兆候を見つけた。攻撃に使える道筋は見つからず、修正は止まったり再開したりを繰り返したPHP Foundation
2026年7月30日OpenAIの取り組み「Patch the Planet」の一環として、CalifがPHPの調査を始めたPHP Foundation、Calif
8月11日Califがリモートからコードを実行できる問題を報告。同じ日にOpenAIも同じ原因を別に報告したPHP Foundation
8月14〜15日Califが攻撃を実証するコードをPHPに渡し、PHPが動作を確認したCalif
8月19〜24日Wizが19日に最初の脆弱性を見つけ、24日にPHPへ報告したWiz
9月18日OpenAIが別の攻撃経路を追加で報告したPHP Foundation
10月上旬CloudflareがWAF(Webアプリへの攻撃を遮る仕組み)のルールを作り始めたCloudflare

情報の流出から公開まで(10月20日〜21日)

日本時間出来事出典
21日 0:00ごろ
(20日 15:00 UTCごろ)
2件のCVE番号が、掲示板やSNSで出回り始めた。公開日時は誤っていて、深刻度も実際の9.2ではなく10.0とされていた。技術的な中身は漏れていないPHP Foundation
21日 4:30
(20日 19:30 UTC)
PHPが事前の告知を前倒しで出し、修正版の公開を22日 23:00から21日 23:00(日本時間)に1日早めた。ディストリビューション(Linuxの配布元)の準備が終わっていなかったため、即日の公開は避けたPHP Foundation
告知のあとCalifが、攻撃を実証するコードが動く様子の動画を誤って公開した。動画は削除されたが、複製がSNSで出回り、各地で攻撃コードづくりが進むきっかけになったPHP Foundation
21日 12:02
(3:02 UTC)
Cloudflareの無料・有料のWAFで、防御ルールが既定で有効になったCloudflare
21日 16:41
(7:41 UTC)
コンテナイメージを配布するChainguardが、事前に受け取っていた修正を入れたイメージを、公開日時を待たずに出した。PHP Foundationは「一方的に情報公開の取り決めを破った」としているPHP Foundation
21日 22:34
(13:34 UTC)
PHPのGitHubに、2件の脆弱性の詳しい説明(アドバイザリ)が公開された。php.netでも同じ日に修正版が公開された(編集部は 22:49に確認)GitHub、php.net
21日 22:56〜23:04Cloudflare(22:56)、Wiz(22:59)が解説を公開し、OpenAIも公式Xで発見の経緯を発表した(23:04)各社

PHP Foundationは、重要インフラの事業者に20日 23:00 UTC(日本時間 21日 8:00)ごろから伝えていた緩和策の情報も、漏れた可能性があるとしています[PHP Foundation]。

誰が見つけたのか(AIの役割)

php2shellに関わった組織の図。見つけて報告したのはCalif、OpenAI、Wiz。中央のPHPのセキュリティチームがPHP Foundationと協力して修正を作った。公開前に備えたのはLinuxディストリビューション、Cloudflareなどの防御製品、米国政府機関
図2 見つけた側・直した側・備えた側

PHPのGitHubのアドバイザリでは、2件とも報告者として4つのアカウント、修正を作った開発者として4つのアカウントが記載されています[GitHub]。各社の発表を並べると、見つけた経緯は次のとおりです。

Calif:昔の脆弱性の知識から当たりをつけた

Califは米国のセキュリティ企業です。研究者のRyan Austin氏による解説では、2004年に見つかった「メモリ上限を使ったPHPの脆弱性」に似た問題が残っていないかを探すところから調査を始めました。調べ始めて数日で最初の問題が見つかり、最終的にWordPress、Drupal、Joomla、Magento、phpMyAdmin、Laravelなど11種類のアプリやフレームワークで、ログインなしのコード実行を確認したとしています[Calif]。

AIについては「LLM(ChatGPTのような大規模言語モデル)に手伝ってもらった」と書く一方、最初の発見に特別な仕組みや、一般に公開されていないモデルは使っていないと説明しています。「AIの時代でも、狙う対象をよく知っていることが大事」というのがCalifの見方です[Calif]。

OpenAIの発表では、CalifはOpenAIのモデル「GPT‑5.6 Sol」を使って重大な欠陥を見つけたとされています[OpenAI]。

Wiz:AIで攻撃コードを短時間に作れたと強調

Wizはクラウドセキュリティの企業です。同社の解説によると、自社ツールのWiz Atlas、Googleの「Gemini 4 Argon」、OpenAIの「GPT-5.6 Sol」を調査に使いました。特にGemini 4 Argonは、脆弱性の発見、攻撃コードの開発、攻撃の検知、修正の検証で大きく役立ったとしています[Wiz]。

Wizは4つの不具合を2件のCVEにまとめて報告し、最新版のWordPress、Drupal、Joomlaの公式コンテナで、ログインなしにコードを実行できることを示しました。さらに、別の利用者のリクエストに含まれるパスワードやAPIキーなどを、PHPのメモリから読み出せることも示したとしています[Wiz]。

Wizは、AIを使うと「研究者1人が1週間で、以前なら一流のチームが数か月かけた作業を終えられた」とし、攻撃コードを相手の環境に合わせて直す手間が大きく減ったと書いています。これは同社の見方です[Wiz]。

OpenAI:独自に報告し、公開までの調整を主導

OpenAIは「Patch the Planet」という取り組みで、オープンソースの重大な脆弱性への対応を支援しています。今回は約2か月、PHPのメンテナー(開発の責任者)や研究者、セキュリティ企業をまとめて、公開前の準備を主導したと発表しました。修正そのものはPHPのメンテナーが主導したとしています[OpenAI]。

PHP Foundationによると、OpenAIはCalifと同じ8月11日に同じ原因を報告し、9月18日には別の攻撃経路も報告しています[PHP Foundation]。

PHP側:AIのおかげで報告が急増

PHP Foundationは、今年に入ってAnthropicの「Claude Mythos」でPHPを検査したことや、報告や攻撃コードの検証にOpenAIの「Daybreak Red」を使っていることも明かしています[PHP Foundation]。

AIを使った調査が増えた結果、PHPのセキュリティチームが受け取る報告は以前より大きく増えました。7月1日以降に15件のCVEを公開し、無効・重複・再現できない報告も100件以上処理したとしています。AIは報告の検証や整理に使っていますが、判断と修正は人が行っているとのことです[PHP Foundation]。

2024年に兆候が見つかっていた
PHP Foundationは、2024年に見つかった兆候の修正が進まなかったことを「構造的な失敗」と認めています。直し方の案ごとに互換性や性能の問題があって一つに決められず、深い知識を持つ開発者も少なかったためです。現在は決め方を見直しているとしています[PHP Foundation]。

海外各社の対応

防御製品(WAFなど)

どの会社も、WAFは時間を稼ぐためのもので、修正版への更新の代わりにはならないとしています。WAFの効果と限界は、このサイトの別の記事「php.iniの設定変更やWAFで防げる?」で解説しています。

Linuxのディストリビューション

PHPは修正をディストリビューションに事前に渡していました[php.net]。ディストリビューションの修正版は、古い番号のまま修正だけを取り込むため、PHP公式の8.5.12などとは番号が一致しません。

配布元状況(22日 0時台に確認)
UbuntuUSN-8948-1で修正済みパッケージを公開。26.04 LTSは8.5.4-0ubuntu1.5、24.04 LTSは8.3.6-0ubuntu0.24.04.13、22.04 LTSは8.1.2-1ubuntu2.28。20.04 LTS以前は、有償のUbuntu Proで修正版を提供[Ubuntu]
DebianDebian 13(trixie)はDSA-6574-1でphp8.4の8.4.27-1~deb13u1、Debian 12(bookworm)はDLA-4848-1でphp8.2の8.2.35-1~deb12u1を修正版として掲載[Debian]
Red Hat深刻度を「Important(重要)」と評価。Red Hat Enterprise Linuxは標準でPHP-FPMを使うため、実際にコードを実行するのは難しいとしている[Red Hat]
Remiのリポジトリ有志が運営するrpms.remirepo.netは、公開当日は更新されないとPHP公式が案内[php.net]

各国の政府機関

悪用の状況(確認済みと未確認)

「悪用」という言葉には、攻撃を試みる通信が来た段階と、実際に侵入された段階があります。今回の発表の多くは前者で、侵入に成功した被害を公表したものは確認できませんでした。

公的機関・PHP公式の発表

発表元内容
PHP公式mod_phpでは、認証なしの1回のリクエストで攻撃が成立することが実証されている(研究者による実証)[php.net]
PHP Foundation情報の流出後に出回った攻撃コードを調べたが、修正版の公開時点では、実際に動くものは見つからなかった[PHP Foundation]
米国CISA「悪用が確認された脆弱性」の一覧(KEV)に載っていない(22日 0時台に確認)。NVDにCISAが付けた評価も、21日 14:34 UTC(日本時間 23:34)の時点で「悪用:なし」[CISA・NVD]
CERT-EU悪用は確認していない。ただし、最初の攻撃コードが出回り始めており、すでに悪用されている可能性は高まったとしている[CERT-EU]
IPA21日の事前の呼びかけで「悪用した攻撃を確認しているわけではない」としている。修正版の公開後の更新は、確認時点ではない[IPA]
JPCERT/CC確認時点で、PHPについての注意喚起は出ていない[JPCERT/CC]

セキュリティ企業の発表(PHP公式は確認していない)

発表元内容
Cloudflare流出のあと、利用者を狙う攻撃の通信を観測した。攻撃者は防御を避けようと、送る内容を少しずつ変えていたとしている。件数は公表していない[Cloudflare]
Patchstack21日 7:34 UTC(日本時間 16:34)に、複数のホスティング会社から悪用の報告を受けたとした。その後 13:57 UTC(日本時間 22:57)には、自社の観測では探りを入れる攻撃だけで、侵入の確かな証拠はまだないとしている[Patchstack]
watchTowr自社のおとりサーバー(ハニーポット)で、2件の脆弱性を狙う攻撃の試みを観測しているとしている。件数や時刻は書かれていない[watchTowr]
Huntress21日 10時(米国東部時間、日本時間 23時)の時点で、顧客の環境では悪用を確認していない[Huntress]
Sophos記事の公開時点で、実際の悪用は報告されていない。Xで「動く攻撃コードを作った」と主張する人がいるとしている[Sophos]

攻撃コード(PoC)の状況

CERT-EUは「最初の攻撃コードが出回り始めた」とし、Palo Alto NetworksのUnit 42も攻撃コードを確認したとしています[CERT-EU・Unit 42]。一方で、PHP Foundationは公開時点で実際に動くものは見つからなかったとしており、出回っているものの中身は確かではありません。

出回っている攻撃コードは実行しない
「PoC」と称するプログラムには、偽物や、実行した人のパソコンを乗っ取るものが混ざることがあります。Califも、2004年の脆弱性のときに、実行した人を狙う偽の攻撃コードが出回ったと振り返っています[Calif]。自社サイトが対象かどうかは、攻撃コードではなくPHPのバージョンで確かめてください。

日本の利用者にとっての意味

やることは「PHP本体の更新」で変わらない

見つけた会社やAIの話は、日本の中小企業のWeb担当者がやることを変えるものではありません。PHP本体を修正版に更新し、レンタルサーバーなら事業者の対応を確かめることが基本です。国内のレンタルサーバー各社の告知はレンタルサーバー各社の対応状況まとめで追っています。

攻撃が試されている前提で、更新後に痕跡を確かめる

攻撃の試みが海外で報告され、攻撃コードも出回り始めています。修正版を当てる前に攻撃が届いていた可能性はあるので、更新したあとは、見覚えのないファイルや管理者アカウントが増えていないかを確かめてください。確かめ方はWebサイトが乗っ取られていないか確かめる方法にまとめています。

AIで、同じような発見はこれから増える

OpenAIは今回の件を「AIがインターネット全体に影響する脆弱性を見つけられるようになった」例とし、同じような発見がこれからの数か月で急に増えると予想しています[OpenAI]。Wizも、AIによって攻撃コードを作る手間が大きく下がったとしています[Wiz]。

この見方が正しければ、PHPに限らず、重大な更新が出る回数は増え、更新が出てから攻撃が始まるまでの時間は短くなります。サポートが切れたPHP 8.1以前を使っているサイトは、今後の修正を受け取れません。PHP 8.2も2026年12月31日でサポートが終わります[php.net]。今回の更新が済んだら、誰が・どうやって・どれくらいの早さでPHPを更新できるかを、この機会に決めておくことをおすすめします。

自社のサイトのPHPのバージョン確認や更新、侵害の確認をどこから手をつければよいか分からない場合は、Webセキュリティ診断センターにご相談ください。

参考にした情報

貴社のサイトに合った対応をご案内します!
まずは、お気軽にご相談ください。

お問い合わせ・お見積りはこちら
無料で相談する最新情報を見る