October 28, 2026

PHPの更新がまだの人へ――PHP2Shellの現状と、いま確認す⁠る⁠こ⁠と

PHPの重大な脆弱性「PHP2Shell」(CVE-2026-109618/109619)の修正版が出てから、1週間がたちました。10月26日には、米国のCISAが、実際に悪用されている脆弱性として登録しています。それでも、更新が済んでいないPHPは、世界にまだ大量に残ってい⁠ま⁠す⁠。

この記事は、「自分のサイトが大丈夫か分からない」という方向けに、更新がまだの数と、いま確認することを、順番にまとめたものです。技術的な詳細は、エンジニア向けのまとめにあります。数字は、日本時間10月28日夜の時点のもの⁠で⁠す⁠。

日本語で出回っている情報には、原文と異なる訳や要約が、かなり見受けられます。この記事は、一次情報を私たちも原文で確認して書いていますが、読者の皆さんも、各社の原文でのご確認をお勧めし⁠ま⁠す⁠。

要点

  • バージョンが分かるPHPのうち、修正版になっているのは約4分の1です。約7割は、未修正のバージョンを名乗っています(Censy⁠s⁠)⁠。
  • 日本では、約117万件が、未修正のバージョンを名乗っています。件数は、232の国と地域のうち6位です(Censy⁠s⁠)⁠。
  • 10月26日に、CISAが、悪用の確認として、KEVに登録しました。10月24日には、囮のサーバーで、攻撃が成功した記録も出てい⁠ま⁠す⁠。
  • 10月29日の更新:ファイアウォールが侵害された、という報告が出ました(Dream、JPCERT/CC)。Palo Alto自身も、同日、公開された管理画面への悪用を確認した、と更新しました(Unit 42)。PHPを直すだけでなく、Linuxカーネルや、機器の更新も要り⁠ま⁠す⁠。
  • 修正版があるのは、PHP 8.2〜8.5です。8.1以前には、公式の修正がありま⁠せ⁠ん⁠。
  • やることは、使っているPHPのバージョンを調べて、修正版に更新し、10月17日以降に入られていないかを点検すること⁠で⁠す⁠。

更新がまだの人は、どれだけい⁠る⁠の⁠か

Censysは、インターネットに公開されているPHPを調べて、バージョンごとに、修正版かどうかを集計しています。10月28日の表示は、次のとおりです(Censys PHP2Shell Exposure Tracker。最新のデータは、UTC 14:10、日本時間23:10ま⁠で⁠)⁠。

区分 件数 意味
修正版になっている 約1200万 8.2.35、8.3.36、8.4.27、8.5.12以上
未修正で、修正版がある 約840万 8.2〜8.5で、修正版より前。更新すれば直る
未修正で、公式の修正がない 約2400万 8.1以前。移行が必要
バージョンが分からない 約6514万 全体の59%。判断できない

「件」は、サービス(IPアドレスまたはホスト名と、ポートの組)の数です。組織の数でも、サーバーの台数でもありません。1台のサーバーで、複数のサイトが動いていることもあり⁠ま⁠す⁠。

バージョンが分かる約4500万件のうち、未修正のバージョンは73.3%(約3270万件)です。最も多いのはPHP 7.4.33で、約693万件(15.5%)あり⁠ま⁠す⁠。

修正版のある系列でも、更新は、半分前後です(Censys、10月28⁠日⁠)⁠。

系列 修正版の件数 割合
PHP 8.2(修正版 8.2.35) 約312万 / 約598万 52.3%
PHP 8.3(修正版 8.3.36) 約404万 / 約782万 51.7%
PHP 8.4(修正版 8.4.27) 約215万 / 約322万 67.0%
PHP 8.5(修正版 8.5.12) 約260万 / 約334万 77.9%

直近24時間に、新たに修正版になったことが確認されたのは、約40万件です(Censys)。10月21日の公開から、修正版への移行が確認されたのは、約1061万件⁠で⁠す⁠。

数字の⁠読⁠み⁠方

  • これは、公開されているバージョンの表示から数えた、上限の数字です。LinuxのディストリビューションやレンタルサーバーのPHPは、バージョン番号を変えずに、修正だけを取り込むことがあります。その場合、修正済みでも、未修正と数えられます(Censysも、この点を注記していま⁠す⁠)⁠。
  • 日本には、この影響が出やすいと考えます。国内の主なレンタルサーバーは、古いPHPのバージョンにも、自社で作った修正を当てています。例えば、ロリポップ!は、5.3〜7.3に自社作成の修正を適用しています(ピヨログの集計)。バージョンの表示は、変わりません。日本の「約117万件」には、こうした修正済みのものが含まれると思います。これは私見で、割合は分かりま⁠せ⁠ん⁠。
  • バージョンを公開していない59%は、数えられていません。実際の未修正は、この数字より少ないかもしれないし、多いかもしれま⁠せ⁠ん⁠。
  • 日本のうち、10月21日以降に、一度でも未修正のバージョンが確認されたのは約152万件で、修正版への移行が確認されたのは約35万件(22.9%)です(Censys。この割合は、私が計算しまし⁠た⁠)⁠。

細かい数字よりも、更新が済んでいないものが、世界にも日本にも、大量に残っている、という点を見てくだ⁠さ⁠い⁠。

悪用は、確認⁠さ⁠れ⁠た

10月23日までは、攻撃の「試行」の報告が中心で、成功を示す確かな報告は、確認できていませんでした。この状況は、変わってい⁠ま⁠す⁠。

  • 10月17日:修正版の公開の4日前に、Amazonの囮のサーバーが、最初の攻撃の試行を観測しました(SecurityWee⁠k⁠)⁠。
  • 10月24日:Perplexityの研究者Adel Karimi氏が、囮のサーバー3台(PHP 8.4.26、Apache mod_php)で、攻撃が成功して、シェルが起動した記録を35件、確認しました。送信元は、2つのアドレス群です(公開された調査報⁠告⁠)⁠。
  • 10月26日:CISAが、CVE-2026-109618と109619を、KEV(悪用が確認された脆弱性のカタログ)に登録しました。米国の連邦機関には、10月29日までの対処を求めています(CISAのKEVのデータを、私が直接確認)。日本でも、IPAが、この登録を、注意喚起に追記しています(IP⁠A⁠)⁠。

囮のサーバーの結果は、1つの設定(Apacheのワーカー1つ、メモリ上限128MiB)での観測です。実際のサイトで、何件の被害が出ているかは、分かっていません。ただ、攻撃が実際に成功する状態になっているため、更新を後回しにする理由は、なくなりま⁠し⁠た⁠。

10月29日の追記:ファイアウォールも、侵害⁠さ⁠れ⁠た

イスラエルのセキュリティ会社Dreamは、PHP2Shellを使った攻撃で、ファイアウォールが侵害された、と報告しています。製品は、Palo AltoのPAN-OSです(報告は10月26日に公開、29日に更新。Dream)。JPCERT/CCも、10月29日に、この件を注意喚起に追記しました(JPCERT/CC)。Palo Alto自身も、同じ10月29日に、Unit 42の脅威情報を更新し、PHP2Shellは「インターネットに公開された管理画面に対して悪用されている」と書きました。Dreamが報告した攻撃者の道具を、独自に確認し、結果を裏付けた、としています(Unit 4⁠2⁠)⁠。

  • 攻撃者は、インターネットに公開されたPAN-OSを、約1万9000台見つけ、そのうち240台を標的にして、24台でroot権限を取った、とされています。そこから、管理サーバー1台も侵害され、合計25台です。米国政府関連の環境も含ま⁠れ⁠ま⁠す
  • 手口は、PHP2Shellと、LinuxカーネルのCVE-2026-46300の連鎖です。PHPの欠陥で、まずウェブシェルを仕込み、カーネルの欠陥で、rootに上が⁠り⁠ま⁠す
  • CISAは、10月28日に、このカーネルの欠陥もKEVに登録しました。KEVの注記も、PHP2Shellとの連鎖を説明しています(CISAのKEVのデータを、私が直接確認)。Palo Altoは、修正のホットフィックスを出しています(対象バージョンは、Palo Altoの脆弱性情報の表で確認でき⁠ま⁠す⁠)

Dreamの報告は、報告者による調査です。攻撃者の名指しはなく、AD側の結果は、回収できていない、と注記されています。一方、Palo Altoは、インターネットに公開された管理画面があり、影響を受けた機器は、導入台数の約0.02%で、該当のお客様には個別に連絡した、と説明しています。管理画面は、初期設定では公開されません(Unit 42。数字はPalo Altoの説明で、独立した検証はありません)。報道と一次情報で合っていない点は、別の記事にまとめました。この記事の読者に関係するのは、次の点⁠で⁠す⁠。

  • PHPを組み込んだ機器(ファイアウォールなど)の更新は、機器のベンダーが出します。自分でPHPを更新することはでき⁠ま⁠せ⁠ん
  • Linuxのサーバーは、PHPだけでなく、カーネルの更新も、確認が必要です。どのカーネルが対象かは、ディストリビューションごとに違うため、使っているディストリビューションの案内で、確認してく⁠だ⁠さ⁠い

いま、や⁠る⁠こ⁠と

1. 誰がPHPを動かしているかを、確⁠認⁠す⁠る

PHPの更新は、次のどれかで、担当が変わり⁠ま⁠す⁠。

運用の形 更新するのは やること
レンタルサーバー(さくら、エックスサーバー、ロリポップ!など) 事業者 事業者は、10月23日までに、多くの修正を終えています。自分では、使っているPHPのバージョンを確認します。古いバージョンを選んでいると、対象外になることがあります
VPS、クラウド、自社のサーバー 自分(または管理者) 自分で、修正版へ更新して、PHPを再起動します
制作会社、保守会社に任せている 制作会社、保守会社 次の3つを質問します。(1)PHPのバージョンはいくつか、10月21日以降に更新したか。(2)8.1以前なら、いつまでに移行するのか。(3)10月17日以降の侵入の点検は、したか
ファイアウォールなどの機器 機器のベンダー ベンダーの案内で、PHPの修正を含む更新が出ているかを確認します。管理画面を、インターネットに公開していないかも、見直します

WordPressなどのCMSを更新しても、PHPが未修正なら、対処になりません。逆に、PHPを更新すれば、CMS側の修正は、この件では、必須ではありません(エンジニア向けのまと⁠め⁠)⁠。

2. 使っているPHPのバージョンを⁠調⁠べ⁠る

  • レンタルサーバーなら、コントロールパネルの、PHPのバージョンの設定で見られ⁠ま⁠す⁠。
  • WordPressなら、管理画面の「ツール」→「サイトヘルス」→「情報」→「サーバー」に、PHPのバージョンが出⁠ま⁠す⁠。
  • 分からなければ、サーバーの管理者や、保守会社に、「PHPのバージョンはいくつか」と聞いてくだ⁠さ⁠い⁠。

3. バージョンで、次の動きを⁠決⁠め⁠る

使っているバージョン 状態 次にやること
8.2.35、8.3.36、8.4.27、8.5.12、またはそれ以上 修正済み 手順5の点検へ
8.2〜8.5で、上の番号より前 未修正で、修正版がある 修正版へ更新して、PHPを再起動する
8.1以前(8.0、7.4、7.2、5.6など) 公式の修正がない サポート中の8.2以降へ移行する。移行までは、手順4へ
表示は上の番号より前だが、事業者が「修正済み」と案内している 修正だけが取り込まれている可能性 事業者の告知で、そのバージョンが対象かを確認する

PHP 8.2は、2026年12月31日に、サポートが終わります(PHP公式の告知)。更新のついでに、移行の計画も立ててくだ⁠さ⁠い⁠。

古いバージョンから移行する場合は、サイトやシステムが、新しいPHPで動くかの確認が要ります。いきなり本番で切り替えず、テスト環境で確認してくだ⁠さ⁠い⁠。

4. すぐに更新できないときの、つなぎ⁠の⁠対⁠処

次のどれも、安全にはなりません。更新までの時間稼ぎ⁠で⁠す⁠。

  • そのサイトを、一時的に公開停止にするか、社内など、決まった場所からだけアクセスできるよう⁠に⁠す⁠る
  • CloudflareなどのWAFを通す。Cloudflareは、既知の攻撃経路へのルールを、無料プランを含む全顧客に展開しています。ただし、同社は応急処置としており、Cloudflareを通った通信にしか効きません(Tenab⁠l⁠e⁠)
  • 管理者に、PHPの設定による暫定対処を、依頼する(session.upload_progress.enabledの無効化など。設定は、エンジニア向けのまとめにあり⁠ま⁠す⁠)

5. 10月17日以降に、入られていないかを点⁠検⁠す⁠る

修正版を入れても、公開前や更新までの間に侵入されていれば、侵入は、残ります。攻撃は、修正版の公開の4日前から、始まっていま⁠し⁠た⁠。

保守会社や管理者に、次の点検を依頼してくだ⁠さ⁠い⁠。

  • PHPが動いているプロセスが、シェルや、curl、wgetなどを起動した記録が⁠な⁠い⁠か
  • Webの公開フォルダに、見覚えのないファイルが⁠な⁠い⁠か
  • 新しい定期実行(cron)や、見覚えのないアカウントが⁠な⁠い⁠か
  • ログを消さずに、保全して⁠あ⁠る⁠か

疑わしい場合は、そのサーバーを隔離して、PHPから見えるパスワード(データベース、APIキーなど)を、すべて入れ替えます。詳しい確認項目は、エンジニア向けのまとめにあり⁠ま⁠す⁠。

やってはいけな⁠い⁠こ⁠と

  • WordPressなどのアプリの更新だけで、済ませない。PHP本体が未修正なら、対処になり⁠ま⁠せ⁠ん
  • ネットで見つけた「エクスプロイト」を、自分のサーバーで試さない。悪意のあるコードが混ざっているおそれがあ⁠り⁠ま⁠す
  • WAFだけで、済ませない。WAFは、既知の攻撃経路を、減らすだ⁠け⁠で⁠す
  • バージョンの表示を隠して、安心しない。表示を隠しても、PHPは、修正され⁠ま⁠せ⁠ん

未確⁠認⁠の⁠点

  • 日本の、実際の未修正の件数は、分かっていません。Censysの数字は、表示されるバージョンにもとづく上限で、国内のレンタルサーバーによる、自社修正の分は、反映されていないと考⁠え⁠ま⁠す
  • 修正版の公開以降、PHPからの追加の修正版は、確認できていません(10月28日に、docker-libraryのversions.jsonで確認)。CVE-2026-115560の修正は、次の通常リリースで、予定されて⁠い⁠ま⁠す

関⁠連⁠記⁠事

自分のPHPの環境の洗い出しや、更新、侵入の点検でお困りの方は、下記よりお問い合わせくだ⁠さ⁠い⁠。

無料セキュリティ相談を⁠受⁠付⁠中

ただいま、セキュリティについての無料相談を受け付けています。「自社のサイトは大丈夫か」「何から確認すればよいか」など、お気軽にご相談ください。

Super Sonic DesignではWebサイトの制作やアプリのデザインなどのご相談を承っております。どうぞお気軽にお問い合わせください。
お問い合わせ
他の最新記事
カテゴリー