CVE-2026-109618 · CVE-2026-109619 · CVSS v4.0 9.2 · PHP 5.4–8.5

PHPの脆弱性 php2shell
サービス停止まとめ

2026年10月21〜22日に停止・緊急メンテナンスを実施した国内 90 件を記録。PHP脆弱性への対応状況を、業種と開始時刻で一覧にしました。

最終更新 自動更新

停止・緊急メンテナンス90件 2026年10月21日〜22日の国内
ゲーム12件
13.3%
配信・出版18件
20.0%
EC・決済9件
10.0%
金融4件
4.4%
行政・公的7件
7.8%
サーバー・基盤19件
21.1%
業務サービス10件
11.1%
その他11件
12.2%

どの業種が、いつ止まったか

〜17時18-20時21時台22時台23時台10/22時刻なし
ゲーム–217%217%542%325%––
配信・出版16%739%–844%211%––
EC・決済444%––333%111%–111%
金融–––––125%375%
行政・公的––––114%114%571%
サーバー・基盤316%211%–211%211%211%842%
業務サービス220%220%–220%110%–330%
その他655%19%––19%–327%

件数 / 業種内の構成比

停止したサービスの累積

10月21日 13:00 – 10月22日 11:00 / 日本時間
0204060141618202200020406081021:59 PATCH修正版が存在しない時間帯10 / 2110 / 22

停止が始まった時刻

1時間ごとの件数
1143716541873202202211200020406108110 10/21 14:00 10/22 10:00

停止・緊急メンテナンスを実施した国内90件

起きた順に並べています。業種で絞り込めます。左の一覧から選ぶと、右に止めた範囲・再開時刻・対応の経緯が出ます。

90件
2026年10月21日80件
21:59PHP が修正版 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 を公開
2026年10月22日10件
業務サービス2026年10月21日〜22日

コドモン

止めたもの
保護者向けアプリを含む全サービス
停止・作業の開始
10月21日 14:00頃
再開・終了
10月22日 3:22 本体再開、16:16 ストア再開

会社・サービス

運営
株式会社コドモン
対象サービス
コドモン(保育・教育施設向けICTサービス)

利用者から見て何が起きたか

保育施設と保護者をつなぐ連絡・登降園管理が止まり、保護者向けアプリも使えなくなった。

対応の経緯

  1. 10月21日14時ごろから順次停止した。国内で最も早い部類の判断。
  2. 10月22日3時22分に本体が再開し、16時16分にストアも再開した。
出典:コドモン 公式・X
01

php2shell とは

php2shell(ピーエイチピー・トゥー・シェル)は、2026年10月に公表された PHP 本体の脆弱性2件、CVE-2026-109618 と CVE-2026-109619 につけられた通称です。PHP はウェブサイトの裏側で動くプログラミング言語で、サーバー側の言語がわかっているサイトの 69.3% が使っています。WordPress も、ネットショップも、行政のサイトの多くも PHP で動いています。

この2件は、ログインしていない誰かが、インターネット越しにサーバー上で好きなプログラムを動かせてしまうというものです。深刻度は CVSS v4.0 で 9.2、区分としては最上位の「緊急」にあたります。乗っ取られれば、サイトの改ざんも、保存されている顧客情報の持ち出しも、他社への攻撃の踏み台にすることもできます。

技術的には、PHP が内部で使うメモリの扱いにある不具合です。CVE-2026-109618 はメモリ不足で処理が中断されたときに準備途中のデータが残ってしまうもの、CVE-2026-109619 は解放済みのメモリを指す状態がワーカーに残り、次のリクエストで使われてしまうものです。影響は PHP 5.4 から 8.5 まで、2012年以降のすべてのバージョンに及びます。

そして日本では、2026年10月21日の夜から22日にかけて、90のサービスが次々に止まりました。ただし、停止の事実だけでは、攻撃や侵害があったとは判断できません。この一覧には予防的な停止や緊急メンテナンスを含みます。PHPへの対応と明言していないサービスもあるため、個別の理由は各社の発表と各事例の注記を確認してください。国家サイバー統括室と高市首相も、すぐにパッチを当てられない場合の一時停止を有効策の一つとして挙げていました。

アプリの作りは関係ない

PHP は、アプリケーションのコードが動く前に、届いたリクエストの本文を自動で解析します。狙われるのはこの段階です。「アップロード画面を公開していないから関係ない」は成り立ちません。WordPress ならログイン画面もトップページも PHP です。PHP にリクエストが届く時点で対象になります。

PHP 公式は、Apache の mod_php で、アプリのコードが動く前に認証なしの攻撃が成立することを実証しました。PHP-FPM、php-cgi、LiteSpeed、FrankenPHP も更新の対象です。

公開された検証用プログラムを実際に動かすと、どこまでできるのか。「PHP2Shell」は本当に悪用できる?PoCと修正前後のPHPを検証で、3つの経路を手元の環境で試した結果を載せています。

リクエストが届いてから、コード実行に至るまで

  1. 01外部からリクエスト

    認証やアカウントを必要としない

  2. 02PHPが本文を解析

    multipart/form-dataを処理する

  3. 03メモリの取り違え

    メモリ不足による中断や、解放済みメモリの参照

  4. 04任意のコードが動く

    Webサーバーの権限で実行される

  5. 05webshellを置く

    修正版を当てた後も残るおそれがある

アプリのコードが動く前の段階PHPによるリクエスト解析が入口となる。CMSでも自作アプリでも、PHPに届く経路の確認が必要。

侵害された後の確認も必要修正版の適用と、すでに置かれたファイルや侵害の痕跡の調査は別の作業。

図1 攻撃が成立するまでの流れ。成立条件や検証結果は、本文の検証記事を参照。
項目内容
CVE 番号CVE-2026-109618(OOM 処理の不備)/ CVE-2026-109619(古い内部状態の残存)
深刻度2件とも CVSS v4.0 で 9.2(Critical)。watchTowr は 10.0 と評価している
影響するバージョンPHP 5.4 〜 8.5
修正版8.5.12 / 8.4.27 / 8.3.36 / 8.2.35(2026年10月21日 21:59 公開)
サポート終了版8.1 以前に PHP プロジェクトからの更新はない。7.4・8.0・8.1 は最小限のソース修正のみで、自前のビルドが必要
影響規模外部に出ている対象インスタンスは 2,260万件以上(Palo Alto Networks Unit 42 の推計)

この2件を含む最新の脆弱性情報は、脆弱性の公表・更新一覧に新しい順で集約しています。製品名や CVE 番号で検索できます。

02

情報はどこから漏れたのか

今回いちばん特徴的なのは、公表日より前に情報が漏れ、PHP が公表を前倒しせざるをえなくなったことです。本来の公表は10月22日の予定でした。

きっかけは3つ重なっています。現地時間の10月20日、日本時間では21日の未明に、掲示板の Hacker News へ「PHP のリモートコード実行の脆弱性2件が近く開示される」という書き込みが出ました。投稿は後に削除されています。その3時間後、セキュリティ企業の watchTowr が X で、エンバーゴ下の情報が漏れており、それが実在すると確認できると投稿しました。さらに、発見者の1社である Calif が、攻撃が成立することを示す実証動画を手違いで公開しました。

watchTowr が出したのは「真偽」であって「手口」ではない

X での投稿は、漏れた情報が本物だと業界に伝えるもので、攻撃の手順や実証コードを公開したものではありません。同社 CEO は、本来 10月22日 午前11時(米東部時間)に公表される予定だったと説明しています。ハッカーがやり方を書いたのではなく、すでに漏れていた情報の真偽を確認して知らせた、という順番です。

それでも結果として、まだパッチがない状態で「本物の重大な穴がある」と世界中が知りました。PHP の予告には最初から「詳細が公になったり、実際の悪用が見えたりしたら前倒しする」と書かれており、この条件が満たされた形です。

木曜の米東部時間11時まで待つはずだった。PHP のエンバーゴ下にある0日脆弱性の情報が漏れている。本物だと確認できる。これ以上の情報はいま出せない。深刻に受け止めて、パッチが出たら当ててほしい。

同社はこの後、「我々が見つけたわけではない」とし、発見者である @calif_io と @lcfr_hax に功績があると投稿しています。

首相が個別のソフトウェアの脆弱性について X で直接呼びかけるのは異例でした。表示は9,100万回を超えています。高市氏自身も、事務所のホームページを一時停止しています。

前夜の21時44分にも、パッチ適用とサイトの一時停止を呼びかける投稿を出しています。

なお、最初に書き込みをした Hacker News のユーザー名は petecooper で、10月22日に2件の脆弱性が公表されると書いていました。投稿はのちに削除されています。

最初の悪用の試行は、これよりさらに前に始まっていました。Amazon の MadPot が、情報の漏れた10月20日より前の10月17日に試行を検知しています。漏れる前から、知っている者がいました。

悪用の試行から修正版の公開まで

最初の悪用試行は10月17日。修正版が公開されたのは10月21日夜。

  1. 最初の悪用試行

    AWS MadPotが検知

  2. Hacker Newsに投稿

    投稿はのちに削除

  3. watchTowrが実在を確認

    技術的な詳細は公表していない

  4. CloudflareがWAFを適用

    修正版公開の約9時間前

  5. コドモンが順次停止

    保護者向けアプリを含む全サービス

  6. PHPの修正版を公開

    8.5.12・8.4.27・8.3.36・8.2.35

  7. 各サービスが順次再開

    個別の再開状況は上の一覧を参照

図2 主な出来事を日本時間で表示。間隔は経過時間の長さを表していません。

なお、各社の告知が出そろう前、10月21日の夜の時点でわかっていたことはphp2shell で緊急メンテナンス相次ぐに残してあります。当時の見え方と、確定した事実を見比べる材料になります。

  • 10月17日
    公表の4日前に最初の悪用試行

    Amazon の MadPot が検知した。発信元は 103.216.220.92。情報が漏れる前から、知っている者がいた。

    出典:AWS
  • 10月20日 15:20 UTC
    日本時間 21日 0:20
    掲示板 Hacker News に投稿

    ユーザー名 petecooper が、PHP のリモートコード実行の脆弱性2件が10月22日に開示されると書き込んだ。投稿はのちに削除された。

    出典:Sansec / BleepingComputer / piyolog
  • 10月20日 18:26 UTC
    日本時間 21日 3:26
    watchTowr が X で「本物だ」と投稿

    エンバーゴ(公表日まで伏せる取り決め)下の情報が漏れており、実在すると確認できるとした。同社は詳細を公表していない。CEO の Benjamin Harris は、本来 10月22日 午前11時(米東部時間)に公表される予定だったと説明している。

    出典:watchTowr の X 投稿
  • 10月20日
    Calif が実証動画を誤って公開

    発見者の1社が、攻撃が成立することを示す動画を手違いで公開した。

    出典:Wikipedia(PHP2Shell)
  • 10月20日
    PHP が公表を前倒しすると告知

    もともと「詳細が公になるか、実際の悪用が見えたら前倒しする」と予告に書かれていた。その条件が満たされた。

    出典:PHP 公式
  • 10月21日 12:02
    Cloudflare が WAF を全プラン自動適用

    公表の約9時間前。無料プランも対象。リクエストと応答の両方を見る方式を新たに導入した。

    出典:Cloudflare
  • 10月21日 14:00
    国内で最初の停止

    コドモンが保護者向けアプリを含む全サービスを順次停止した。

    出典:コドモン
  • 10月21日 21:44 / 21:55
    国家サイバー統括室と高市首相が X で呼びかけ

    すぐにパッチを当てられない場合はサイトの一時停止も有効、とした。首相の投稿は表示9,100万回を超えた。

    出典:高市早苗氏の X 投稿
  • 10月21日 21:59
    修正版が公開(予定より約1時間前倒し)

    8.5.12 / 8.4.27 / 8.3.36 / 8.2.35。GitHub の技術詳細は 22:34 に公開された。予告の23時より早い。

    出典:php.net
  • 10月21日 22時台
    停止がピークに

    この1時間だけで20件が停止・作業を開始した。

    出典:本ページの集計
  • 10月22日 10:30
    JVN が JVNVU#99905564 を公開

    総務省は11時18分に「一般のインターネット利用者の皆様に、特段の対応を求めるものではありません」と発信した。前夜の呼びかけはサイトを運営する側に向けたもの、という整理。

    出典:JVN / 総務省
  • 10月22日 日中
    主要サービスは大半が復旧

    pixiv は21日23:30、BASE は22日8:00、コドモンは3:22。レンタルサーバー各社も順次完了を告知した。

    出典:各社の告知
03

悪用されると何が起きるか

コードが動く権限は、Web サーバーのプロセスと同じです。そこから先は攻撃者の目的しだいで、過去の事案では次の形が繰り返されてきました。

被害の形内容
サイトの改ざん自社ドメインのまま、フィッシングや詐欺サイトの置き場に変えられる。ドメインの評判が落ちると、復旧後も検索とメールに影響が残る
決済情報の抜き取り支払い画面に読み取りコードを差し込む手口。Sansec が EC 系で警戒を呼びかけている
会員情報・社内文書の持ち出しWeb サーバーが読める範囲には、データベースの接続情報、アップロードされた書類、設定ファイル内の鍵まで含まれる
社内への足がかり公開サーバーは社内側とつながっていることが多く、乗っ取られた1台が次の侵入口になる。ランサムウェアの前段として使われる
居座り一度 webshell を置かれると、修正版を当てても残る。穴をふさぐ作業と、入られたかを調べる作業は別

webshellを置かれた後に起こりうること

Webサーバーと同じ権限が、次の行為に使われる。

  1. 01サイトの改ざん

    自社ドメインが詐欺サイトの置き場になる

  2. 02決済情報の抜き取り

    支払い画面に読み取りコードを差し込まれる

  3. 03会員情報の持ち出し

    DBの接続情報、書類、設定内の鍵を読まれる

  4. 04社内への足がかり

    侵害された1台が次の侵入口になる

  5. 05計算資源の盗用

    採掘や他社への攻撃の中継に使われる

図3 実行権限の範囲で起こりうる被害。修正版の適用に加えて、侵害の痕跡を調べる必要があります。

Cloudflareが観測した悪用試行の増加

  1. 公表前の10時間数千件
  2. 公表から45分数万件
  3. 公表から2時間数十万件
  4. 10月22日数百万件
図4 Cloudflare CEO Matthew Princeの投稿で示された概数を時点ごとに表示。国内の被害件数や、このページの停止件数とは異なります。

国内では、10月22日の時点で悪用による被害は確認されていません。止めた判断が結果的に空振りに見えるかもしれませんが、止めた時点では、修正版が出る前から悪用の試行が観測されていました。実際に被害が確認された国内の事案は、国内サイバー攻撃の観測記録のほうで別に集計しています。

04

なぜ復旧の早さに差がついたのか

同じ夜に同じ脆弱性へ対応したのに、50分で終えた事業者と、翌日の夕方までかかった事業者がいます。分けたのは判断の速さではなく、事前にどこまで準備してあったかでした。

50分で終えた側

Value-domain 系(CORESERVER、VALUESERVER、XREA)は10月22日 0時から0時50分で完了し、告知に「お客様側での PHP バージョンの変更等のご対応は必要ございません」と書きました。さくらインターネットも、事前準備を組み込んでいたため利用者のサイトを長く止めずに終えています。更新手順が平時から用意されていた組です。

翌日までかかった側

ニコニコは PHP 本体だけでなく関連ソフトウェアの更新も必要になり、翌日15時30分まで一部サービスが戻りませんでした。古い構成ほど、PHP を上げると周辺が動かなくなるため、復旧に時間がかかっています。エックスサーバーも、PHP 8.1 以下については自社独自の修正を作るところから始めました。

もうひとつ差が出たのが、告知の書き方です。管理画面を止めたことと、PHP を更新したことが別だった事業者が複数あります。止めた事実は、適用が終わった証拠にはなりません。委託先に運用を任せている場合は、ここを分けて確認する必要があります。

05

サイトを運営している人がやること

ここからは、自社サイトやサービスを運営している人、社内のシステムを見ている人に向けた手順です。PHP本体の脆弱性には修正版を適用し、そのうえで、穴をふさぐことと、すでに入られていないかを調べることは別の作業になります。最初の悪用試行が観測された10月17日から、修正版が公開された21日までの期間も調査対象になります。

修正が公開されたあとも、更新していない環境が残っているかぎり攻撃は成り立ちます。その考え方は「ゼロデイ」と「N-day」の違いと対処法で整理しました。

  • 1. 実行中の PHP を、SAPI ごとに確認する

    php -v は CLI のものです。Web を処理しているバイナリを見ます。ディストリのバックポートはバージョン表記が変わらないため、変更履歴で CVE 番号を確認します。

    php-fpm8.3 -v
    zgrep CVE-2026-109618 /usr/share/doc/php8.3-common/changelog.Debian.gz
    rpm -q --changelog php-common | grep CVE-2026-109618
  • 2. PHP を読み込む全サービスを再起動する

    パッケージを更新しても、古いコードを抱えたワーカーが残っていると CVE-2026-109619 は有効なままです。プロセスの起動時刻がインストール時刻より後であることを確認します。

  • 3. 社内の「隠れ PHP」を棚卸しする

    公開サイトと CMS(WordPress・Drupal・Joomla・Magento)、サーバー管理画面(cPanel・Plesk)、ベンダー製アプライアンスの内部、外部委託・ホスティング運用分。自社で把握していない PHP が最も危険です。

  • 4. 委託先・ホスティング事業者に、適用済みかを書面で確認する

    今回は、管理画面を止めたことと PHP を更新したことが別だった事業者が複数あります。止めた事実は、適用が終わった証拠にはなりません。

  • 5. 侵害の痕跡をログとファイルで探す

    10月17日まで遡ります。POST に PHP_SESSION_UPLOAD_PROGRESS を含むもの、Allowed memory size exhausted や signal 11(segfault)、PHP ワーカーからのシェル起動、想定外のファイル追加・更新。

  • 6. 修正版を当てられない環境を切り離す

    PHP 8.1 以前に PHP プロジェクトからの更新はありません。7.4・8.0・8.1 は最小限のソース修正のみで、自分でビルドする必要があります。更新できない機器は、ネットワークから到達できないようにします。

応急処置(修正版を当てる前の時間稼ぎ)

session.upload_progress.enabled = 0、memory_limit = -1、post_max_size を 8M〜32M、PHP 8.5 では fatal_error_backtraces = 0。nginx で multipart/form-data を一時的に拒否する方法もあります。いずれも .user.ini では間に合わないため、php.ini かプール設定に書き、ワーカーを再起動してください。

06

一般の利用者がやること

結論から書きます。今回の件を理由に、利用者側ですべきことはありません。パスワードの変更も、アプリの入れ直しも、特別な設定も不要です。

根拠は3つあります。

理由内容
公的機関がそう言っている総務省は10月22日11時18分に「一般のインターネット利用者の皆様に、特段の対応を求めるものではありません」と発信しました。前夜の首相と国家サイバー統括室の呼びかけは、サイトを運営する側に向けたものという整理です
直すのは利用者の側ではない脆弱性があるのはサーバーで動く PHP です。手元のスマートフォンやパソコン、アプリの側には穴がありません。利用者が自分で直せる箇所がそもそも存在しません
情報が漏れた事実が確認されていない10月22日の時点で、国内で悪用による被害は確認されていません。漏れていないものに対してパスワードを変えても、守りは増えません

そのうえで、やる意味があることが3つだけあります。

  • 1. サービス側から案内が来たら、その案内に従う

    今後、特定のサービスで侵害が判明した場合、運営者からパスワードの変更やログインのやり直しを求める連絡が来ます。そのときは従ってください。先回りして全部変える必要はありません。

  • 2. 「PHPの脆弱性対応」をかたるメールやSMSを開かない

    大きな事件のあとは、それに便乗した偽のお知らせが必ず出ます。本文中のリンクではなく、ブラウザのブックマークや検索から公式サイトに行って確認してください。

  • 3. 使えないサービスは、公式の告知で復旧を待つ

    停止中のサービスについて、SNS の伝聞ではなく運営者の告知を見てください。このページの一覧には、各社が告知した再開の時刻を入れています。

07

よくある質問

Qphp2shell とは何ですか。
2026年10月に公表された PHP 本体の重大な脆弱性2件(CVE-2026-109618 と CVE-2026-109619)の通称です。どちらもログインなしで、外部からサーバー上のコードを実行されるおそれがあり、深刻度は CVSS v4.0 で 9.2(Critical)です。影響は PHP 5.4 から 8.5 までのすべてに及びます。
Q自分が使っているサービスは影響を受けましたか。
このページの一覧で、2026年10月21日から22日にかけて停止・緊急メンテナンスに入った国内90サービスを時系列で確認できます。ゲーム、EC、銀行、省庁、レンタルサーバーまで業種を問わず広がりました。
Q一般の利用者は、パスワードを変えたほうがいいですか。
今回の件だけを理由に変える必要はありません。総務省は10月22日11時18分に「一般のインターネット利用者の皆様に、特段の対応を求めるものではありません」と発信しています。サービス側からパスワードの変更やログインのやり直しを案内された場合は、その案内に従ってください。
QWordPress を最新版にすれば大丈夫ですか。
いいえ。WordPress 本体やプラグインを更新しても、PHP 本体の脆弱性は直りません。サーバーで動いている PHP を 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 以降へ更新する必要があり、これはサーバー運用者かホスティング事業者の作業です。
Q国内で実際の被害は出ましたか。
2026年10月22日の時点で、悪用による被害は確認されていません。国内で相次いだのは、修正版が出るまでの数時間に確実な防御手段がなかったことによる予防的な停止です。
QWAF を入れていれば対応しなくていいですか。
いいえ。Cloudflare は公表の約9時間前から全プランに保護を自動適用しましたが、同社自身が一時しのぎだと説明しています。攻撃側はブロックされた結果を見ながらペイロードを変えており、CDN を通らずオリジンへ直接届く経路も残ります。修正版の適用が唯一の完全な対策です。
08

より詳しく知りたい方へ

php2shell の検証や対策をより詳しく扱った関連記事です。

09

出典