10月21日の夜、いくつもの国内サービスが相次いで「緊急メンテナンス」に入りました。ネットショップの作成サービス、保育施設向けのサービス、イラスト投稿サイト、人気のスマホゲーム。業種はばらばらなのに、理由は同じでした。PHPの脆弱性です。
PHPは、Webサイトの裏側でページを組み立てるために広く使われているプログラミング言語です。WordPressもPHPで動いています。そのPHP本体に、ログインせずに外部からサーバー上でプログラムを実行されうる、重大な欠陥が2件見つかりました。通称「PHP2Shell」です。
この記事では、10月20日から22日までに何が起きたのかを、PHPの公式発表と報道をもとに時系列で追います。日付と時刻は、断りがない限り日本時間です。
10月20日 流出と、前倒しの予告
修正版の公開は、もともと10月22日の予定でした。ところが10月20日、脆弱性の識別番号(CVE番号)が、海外の掲示板のHacker NewsやSNSに流れます。セキュリティ企業のTenableによると、これを受けてPHPは公開を1日早めました。
同じ20日、PHPのセキュリティチームは、重大なセキュリティリリースを21日の14時(協定世界時)、日本時間では21日23時に出すと予告しました。予告の時点では、脆弱性の中身も対象のバージョンも伏せられていました。深刻度の指標(CVSS v4.0)がどちらも9.2で、最も深刻な区分に入ることだけが示されています。
あとからわかったことですが、Amazonの脅威情報チームは、公表の4日前の10月17日に、すでに悪用の試みを観測していたとTenableは伝えています。
10月21日の午後 国内サービスが次々と止まる
21日の午後から夜にかけて、国内では予防のための一時停止が相次ぎました。Impress Watchの報道によると、BASE、コドモン、pixiv、DMM.com、niconico、さくらインターネットの一部サービス、グランブルーファンタジー、ウマ娘 プリティーダービーなどが、メンテナンスや一時停止に入っています。
修正版がまだ出ていない時間帯です。中身がわからない欠陥に対して、サービスを止めて待つという判断が、これだけの規模で同時に起きたのは珍しいことだと思います。
10月21日23時 修正版の公開
予告どおり、日本時間21日23時ごろに修正版が公開されました。PHP 8.5.12、8.4.27、8.3.36、8.2.35の4つです。
公開された内容によると、欠陥は2件あります。1つは、メモリが足りなくなったときの処理でデータが壊れ、それを正しいものとして扱ってしまう欠陥(CVE-2026-109618)。もう1つは、前のリクエスト(ブラウザからサーバーへの「このページをください」という頼みごと)の情報が後片付けされずに残り、次のリクエストがそれを使ってしまう欠陥(CVE-2026-109619)です。仕組みは別の記事で、たとえを使って説明しています。
PHPの公式発表は、設定の変更などで守り切る方法はなく、更新だけが安全な選択だとしています。
同じ日、米国のサイバーセキュリティ・社会基盤安全保障庁(CISA)も、直ちに更新するよう注意喚起を出しました。すぐに更新できない場合は、PHPで動くシステムをオフラインにすることまで求めています。
10月22日 修正の適用と、悪用をめぐる情報
22日の朝には、大手のレンタルサーバーから修正の適用完了の告知が出始めました。エックスサーバーの告知によると、22日6時45分にPHP 8.2〜8.5の全対象サーバーへの修正を終え、昼過ぎまでに古い系統にも修正を当てています。さくらインターネットも、サポートの終わった古いPHPを含めて修正を当てたと公表しています。日経クロステックによると、22日時点でピクシブやコドモンなどがサービスを再開、または一部再開しました。
悪用については、情報が分かれています。セキュリティ企業のwatchTowrは21日から自社のおとりのサーバーで悪用を観測したとしています。一方、同じくセキュリティ企業のRapid7は22日時点で、公開されている攻撃コードは特定の環境でしか動かず、広く通用する攻撃は確認していないとしています。
3日間を振り返って
私自身、21日の夜は手元で管理している古いPHPのサイトのバージョンを確かめるところから始めました。1つ、存在を忘れていたキャンペーン用のサイトが古いPHPのまま残っていて、慌てて止めました。今回のPHPの脆弱性で一番怖かったのは、欠陥そのものより、自分が何を持っているかを把握できていなかったことです。
PHPを使ったサイトを持っている方は、まず自分のサイトのPHPのバージョンを確かめてください。サイトの管理を制作会社や保守会社に任せている場合は、この記事の確認をその会社に依頼し、PHPのバージョンと、修正版を当てた日時を返事でもらってください。確かめ方は別の記事にまとめています。
この記事は10月23日時点の情報です。PHPの脆弱性の状況は動いているので、新しい情報が出たら更新します。





