チャエン

株式会社デジライズ 代表取締役

チャエン

2026年10月21日、Webサイトの裏側で広く使われているプログラミング言語PHPの開発チームが、認証なしで遠隔からコードを実行される恐れのある2件の重大な脆弱性を修正したPHP 8.5.12・8.4.27・8.3.36・8.2.35を公開しました。深刻度はCVSS v4.0でいずれも9.2です*1。同じ日の夜10時前には高市早苗首相が自身のXで「今夜に対応して頂きたい大至急のお願い」と投稿し、修正パッチを可及的速やかに適用できるよう準備を求めました*5。

首相が個別のソフトウェアの脆弱性について直接呼びかけるのは異例です。一方で私が一番気になっているのは、自社のサイトやシステムにPHPが使われているかどうか、把握していない企業がかなり多いことです。先に結論を言うと、PHP2Shellの完全な対策は修正版への更新だけで、まず「自社のどこでPHPが動いているか」と「誰が更新するのか」を今週中に確定させることが最優先です。

この話題は、私もXで紹介しました。


今なら、生成AIの基礎知識から社内導入の6ステップ・定着のポイントまでを1冊にまとめた「はじめての生成AI社内導入ガイド」を無料で配布中!何から始めればいいか分からない方でも、これ1冊で導入の流れがつかめます。

PHP2Shellとは|2つの脆弱性と影響範囲

PHP2Shellは、PHP本体に見つかった2件の脆弱性CVE-2026-109618とCVE-2026-109619をまとめた呼び名です。IPA(情報処理推進機構)は、この2つを組み合わせて悪用されると遠隔の第三者に任意のコードを実行される可能性があると説明しています*3。WordPressなど特定のアプリの不具合ではなく、その土台であるPHPそのものの問題という点が今回の重さです。

PHP公式の発表では、Webリクエストを処理しているすべてのPHP環境が対象で、PHP-FPM・Apacheのmod_php・php-cgi・FrankenPHP・LiteSpeedが挙げられています。中でもmod_phpは、アプリのコードが動く前に認証なしのリクエスト1つで攻撃を始められることが実証されており、最も危険度が高いとされています*1。

項目内容
脆弱性の番号CVE-2026-109618/CVE-2026-109619
深刻度CVSS v4.0でいずれも9.2
何が起きるか認証なしで遠隔からコードを実行される恐れ
対象の構成PHP-FPM・Apache mod_php・php-cgi・FrankenPHP・LiteSpeed(Webリクエストを処理するPHP全般)
特に危険な構成Apache mod_php
修正版PHP 8.5.12/8.4.27/8.3.36/8.2.35
8.1以前PHP公式の更新対象外。7.4・8.0・8.1向けにはソースの最小限の修正が提供
公開日2026年10月21日(日本時間23時)

影響を受けるバージョンについて、IPAは各系列の修正版より前の8.2〜8.5系を挙げたうえで、調査に関わったWiz社によるとPHP 5.4以降は少なくとも一方の脆弱性の影響を受けると紹介しています*3。つまり長年更新していない古いサイトほど危ないということです。

2つの脆弱性の中身をかみ砕くと

  • CVE-2026-109618(メモリ不足の処理の不具合) — PHPがメモリ不足で処理を中断したとき内部データが中途半端な状態で残り、後片付けの処理がそれを正しいデータとして扱ってしまう問題です
  • CVE-2026-109619(使い終わった状態の再利用) — 1つのリクエストが使っていた内部の状態が、メモリを解放した後も残ってしまう問題です。同じ処理プロセスが次のリクエストを受けたとき、その古い状態を使ってしまう恐れがあります

どちらも普段は表に出ない「異常時の後始末」に潜んでいた不具合です。攻撃者は細工したリクエストを送ってこの異常状態をわざと起こし、サーバーを乗っ取る足がかりにします。

なぜ総理が呼びかけるほどの騒ぎになったのか

今回は修正版の公開前から緊張感が高い状況でした。PHPの開発チームは10月20日に「重大なセキュリティリリースを翌日に出す」と事前告知し、詳細が公になったり悪用が確認されたりすれば前倒しもあり得ると伝えていました*1。報道では、修正版の公開前に脆弱性の情報がネット上に流出し、PoC(攻撃を再現するコード)が出回っていたとされています*5。

日時(日本時間)出来事
10月17日Amazonのおとり用サーバー(ハニーポット)が、公表4日前の時点で悪用の試みを記録
10月20日PHP開発チームが翌日のセキュリティリリースを事前告知
10月21日 午後国家サイバー統括室がXで修正の適用準備を呼びかけ。IPAも事前の注意喚起を公表
10月21日 22時前高市首相がXで対応を呼びかけ
10月21日 23時修正版のPHP 8.5.12・8.4.27・8.3.36・8.2.35を公開
10月22日木原官房長官が会見で国家サイバー統括室を中心にSNSで情報を周知すると説明。IPAが脆弱性対策の注意喚起を掲載
10月26日(米国時間)米CISAが悪用が確認された脆弱性の一覧(KEV)に掲載

国家サイバー統括室は10月21日午後、深夜に公開される修正をできるだけ早く適用する準備を求め、適用が難しい場合はWebサイトの一時停止も選択肢になると呼びかけました*6。首相の投稿もこの情報をもとにしたもので、翌22日には木原稔官房長官が会見で、国家サイバー統括室を中心にSNSで必要な情報を迅速に周知していく考えを示しています*6。

悪用の状況についても情報が更新されています。Amazonは公表4日前の10月17日におとり用サーバーへの悪用の試みを記録しています*7。IPAの注意喚起も10月27日に更新され、米CISAが10月26日(現地時間)に悪用が確認された脆弱性として掲載したことが追記されました。一方でIPAは、国内での攻撃被害の事例は把握していないとしています*3。

PHP2Shellの発見と、AIが脆弱性探しに使われ始めている背景は、以下の記事で解説しています。

OpenAIのAIがPHPの重大な脆弱性を発見|php2shellとは?企業がやるべき対策

OpenAIのAIがPHPの重大な脆弱性を発見|php2shellとは?企業がやるべき対策

自社が影響を受けるか確認する方法|使い方別のチェック手順

「うちはPHPなんて使っていない」と思っている企業ほど注意が必要です。コーポレートサイトや採用サイト、問い合わせフォーム、ECサイトの多くはPHPで動いていますし、WordPressもPHPで作られています。しかも制作を外部に任せていると、社内の誰もサーバーの中身を知らないということが珍しくありません。

IPAは、自組織で開発・利用している製品の影響については開発者やサービス提供元の情報を確認するよう案内しています*3。事前の注意喚起でも、まず自組織のプログラムや製品でPHPが使われているかを棚卸しし、製品に組み込まれたPHPの有無はマニュアルや開発元の情報で確かめるよう求めていました*4。私は次の4つの形に分けて確認するのが早いと考えています。

使い方の形誰が更新するか最初にやること
自社や委託先が管理するサーバー(VPS・クラウドのVM)自社または保守を委託している会社PHPのバージョンと動作方式(mod_phpかPHP-FPMか)を確認し、修正版へ更新
レンタルサーバー・マネージドホスティング基本は事業者。ただしPHPのバージョン選択は利用者側のことも多い事業者のお知らせを確認し、管理画面で古いバージョンを選んでいないか確かめる
SaaS(ネットショップ・予約・CMSのクラウド版など)サービス提供元提供元の対応状況の告知を確認。出ていなければ問い合わせる
PHPを組み込んだ製品・機器(社内システム・ネットワーク機器・IoTなど)製品の開発元製品マニュアルや開発元の告知でPHPの有無と修正の予定を確認

自社管理のサーバーで確かめる項目

  • バージョン — サーバー上でphp -vを実行するとバージョンが分かります。ただしコマンドラインのPHPとWebサーバーが使うPHPが別のこともあるので、Webサーバー側の設定も確かめます
  • 動作方式 — Apacheでmod_phpを使っているか、PHP-FPMなど別の方式かを確認します。mod_phpは最も危険度が高い構成です*1
  • 入手経路 — OSのパッケージで入れたのか、自分でソースから作ったのかで更新方法が変わります。PHP公式は、Linuxディストリビューションや長期サポート事業者には事前にパッチが渡っているので提供元を確認するよう案内しています*1
  • 台数 — 本番だけでなく、検証環境や使われなくなった古いキャンペーンサイトも数えます。忘れられたサーバーが一番狙われやすいと見られます

バージョンの確認のためにphpinfo()を表示するページを一時的に作る方法もありますが、公開状態のまま放置すると攻撃者に構成を教えることになります。確認が終わったら必ず消してください。

修正版への更新と暫定策の違い|比較表

PHP公式は「完全な緩和策はなく、更新だけが安全な選択肢」という立場です。すぐに更新できない場合の設定変更も示していますが、これらは特定の攻撃経路を減らすだけで、環境を安全にするものではないと明記しています*1。暫定策はあくまで更新までの時間稼ぎだと考えてください。

対策効果の範囲注意点
修正版へ更新(8.5.12/8.4.27/8.3.36/8.2.35)2件とも根本的に解消検証の手順と切り戻し方法を用意してから適用
memory_limit=-1(アプリが上書きできない形で設定)CVE-2026-109618のうち、PHPのメモリ上限に起因する経路を減らすその下のメモリ確保の失敗は防げない。RLIMIT_AS・RLIMIT_DATAで代用すると逆に脆弱な状態を招く
post_max_sizeを小さくする(アップロード不要なら8M、必要なら32M)大きなリクエストを使う攻撃を減らすupload_max_filesizeはpost_max_sizeより小さく。Webサーバーやプロキシ側の上限も併用
session.upload_progress.enabled=0CVE-2026-109619で確認された経路を防ぐphp.iniやFPMのプール設定で行い、全ワーカーを再起動。ini_set()や.user.iniでは効かない
fatal_error_backtraces=0(PHP 8.5のみ)確認された経路の1つだけを防ぐ全ワーカーの再起動が必要
WAF(Webアプリケーションファイアウォール)既知の攻撃パターンを入口で止めるPHP本体の修正の代わりにはならない
サイトの一時停止・外部からのアクセス遮断更新できるまで攻撃を受けない売上や顧客対応への影響があるため経営判断が必要

PHP公式は10月23日にも追加の案内を出し、ごくまれな設定とコードの組み合わせで起こり得る別の経路があるため、次の通常リリースまではsession.upload_progress.enabled=0を設定しておくよう勧めています。この件はCVE-2026-115560として次のリリースで詳細を公表する予定です*1。21日の時点でこの設定を入れた企業は、そのまま維持するよう案内されています。

WAFについてはCloudflareが既知の攻撃経路に対する初期ルールを全顧客向けに展開したと報じられています*7。ただ、これは入口で知られた手口を止める仕組みです。PHP本体の穴が開いたままであることに変わりはないので、WAFを入れたから安心とは考えないでください。

セキュリティ対応を機に、社内システムの作り直しやAIを組み込んだ業務の仕組みづくりを検討している方もいると思います。法人向けAIリスキリングサービスの導入社数No.1*の弊社デジライズが、AIコンサルティング&開発のサービス資料を無料でお送りしています。既製のAIサービスでは要件が満たせず、自社に合わせたシステム構築や環境の検討が必要な場合の進め方をまとめています。

※出典:株式会社東京商工リサーチ「法人向けリスキリングサービスに関する調査」(2026年5月/調査期間:2026年3月26日〜4月17日/調査方法:デスクリサーチおよびヒアリング/2026年3月末時点)

企業での対応の進め方|経営者と担当者が今週やること

今回の件で私が強く感じたのは、脆弱性対応は「システム担当の仕事」で閉じないということです。10月21日の午後から夜にかけて、ネットショップ作成サービスのBASEやpixiv、ニコニコ、ウマ娘やグランブルーファンタジーといったゲームなど、国内の多くのサービスが相次いで緊急メンテナンスに入りました*8。サービスを止めるかどうかは売上と信用に直結するため、経営の判断です。

担当今週やること
経営者サイト停止を含めた判断の権限者を決める。委託先への確認を指示し、回答期限を切る
情報システム担当PHPが動いている場所の一覧を作り、バージョン・動作方式・更新の担当者を埋める
サイトや業務システムの委託先修正版の適用状況と適用日時、暫定策の有無を書面で回答してもらう
広報・カスタマー対応緊急メンテナンスや停止をしたときの告知文と問い合わせ窓口を用意する

委託先には「対応済みですか」ではなく具体的に聞く

制作会社や保守会社に「PHPの件、大丈夫ですか」と聞くと「確認します」で止まりがちです。聞くべきことを決めておくと回答の質がそろいます。

  • 対象の一覧 — 当社のどのサイト・システムでPHPが動いているか
  • バージョン — 更新前と更新後のPHPのバージョン、適用した日時
  • 古いバージョン — 8.1以前で動いているものがあるか。ある場合の移行計画
  • 痕跡の確認 — 不審なアクセスやファイルの改ざんがないか、いつからのログを確認したか

更新した後も「入られていないか」を確かめる

更新はこれ以上入られないための対策で、すでに入られていた場合の後始末にはなりません。Amazonが公表前の10月17日に悪用の試みを記録していることを踏まえると*7、少なくともその日以降のWebサーバーのログを確認しておくべきです。見覚えのないファイルの追加、管理者アカウントの増加、外部への不審な通信などを確認し、怪しい点があれば専門の会社に調査を依頼するのが安全です。

AIを使った脆弱性の発見や修正が企業の守りをどう変えるかは、以下の記事でも解説しています。

OSS Scannerとは?Anthropicの無料脆弱性スキャン|申請方法と企業の備え

OSS Scannerとは?Anthropicの無料脆弱性スキャン|申請方法と企業の備え

注意点|古いPHP・AI時代の攻撃速度・次の更新

PHP 8.1以前は自力では守れない

PHP 8.1以前はPHP公式の更新対象から外れています。今回は深刻さを踏まえて7.4・8.0・8.1向けの最小限のソース修正が出されましたが、ソースから自分でPHPを作る人向けのものです*1。IPAも、サポート終了のPHPにはサポートされているバージョンへの更新か対策済みの製品への移行を検討し、維持管理の体制が取れないなら公開終了や廃止も選択肢に入れるよう求めています*3。

さらにPHP 8.2も2026年12月31日にサポートが終了します*2。今回8.2.35に上げて終わりにすると、2か月後にはまた同じ問題を抱えることになります。更新のついでに8.3以降への移行計画まで決めてしまうのがおすすめです。

攻撃が始まるまでの時間は短くなっている

今回の調査に関わったWizの研究者は、最先端のAIモデルが攻撃コードを作るハードルを大きく下げ、長年の欠陥を実際の攻撃手段に変えたとコメントしています*7。脆弱性が見つかってから攻撃が始まるまでの時間は、これからさらに短くなると見られます。「月1回まとめて更新」という運用だけでは間に合わない場面が増えるはずです。

AIが脆弱性を見つけて直す側の動きについては、以下の記事も参考になります。

【AI専門家が徹底解説】DeepMind「CodeMender」とは? コード脆弱性を自動修正するAIが示す新しいセキュリティの形

【AI専門家が徹底解説】DeepMind「CodeMender」とは? コード脆弱性を自動修正するAIが示す新しいセキュリティの形

PHP以外の「土台」も同じ構図

今回はPHPでしたが、Webサービスの土台になっているソフトウェアは他にもあります。普段から使っている言語や実行環境、CMS、ライブラリの一覧と更新の担当者を決めておけば、次に同じような発表があったときもその日のうちに動けます。Node.jsの脆弱性と更新の考え方は、以下の記事で解説しています。

Node.jsとは?深刻度「高」の脆弱性4件と修正版への更新手順|Vercel・AWS比較

Node.jsとは?深刻度「高」の脆弱性4件と修正版への更新手順|Vercel・AWS比較

まとめ

  1. 何が起きたか — PHP本体に認証なしで遠隔操作され得る2件の脆弱性PHP2Shellが見つかり、10月21日に修正版が公開されました
  2. 対策の本命 — 完全な対策は8.5.12・8.4.27・8.3.36・8.2.35への更新だけで、設定変更やWAFは時間稼ぎにとどまります
  3. 確認の範囲 — 自社サーバーだけでなくレンタルサーバー・SaaS・委託先・組み込み製品まで、PHPが動く場所と更新の担当者を洗い出します
  4. 経営の役割 — サイト停止の判断や委託先への期限つきの確認は経営の仕事で、更新後のログ確認と8.1以前・8.2の移行計画まで決め切ることが大切です

総理が呼びかけたことで、脆弱性対応が経営層にも届く話題になったのは前向きな変化だと私は受け止めています。一方で、ニュースを見て慌てて対応するやり方には限界があります。私のおすすめは、この機会に「自社のどこで何が動いていて、誰が更新するのか」の一覧を1枚作り、次の緊急リリースの日に誰が何を判断するかまで決めておくことです。今週の数時間の棚卸しが、次の夜の大きな損失を防いでくれるはずです。

参考資料

この記事の著者 / 編集者

チャエン

株式会社デジライズ 代表取締役

チャエン

法⼈向けのAI研修、及び企業向けChatGPTを開発する株式会社デジライズをはじめ、他数社の代表取締役。一般社団法人生成AI活用普及協会評議員を務めながら、GMO AI & Web3株式会社など他数社の顧問も兼任。NewsPicksプロピッカーも兼任。Twitterはフォロワー16万⼈。⽇本初AIツール検索サイト「AI Database」やAIとの英会話ができる「AI英会話」など複数のAIサービスも開発。ABEMAやTBSテレビなどメディア出演も多数。