PHP2Shellの影響はどこまで広がったか、数百万件の攻撃と国内サービス停止の実態
2026.10.22
PHP本体の重大脆弱性「PHP2Shell」の概要
「PHP2Shell」は、CVE-2026-109618とCVE-2026-109619という2件の脆弱性を指す通称であり、PHP本体に存在する重大なセキュリティリスクです。これらの脆弱性は、いずれも「Use After Free」型の脆弱性であり、メモリ不足時のlongjmpや古いグローバル状態の残存に起因します。両方の脆弱性にはCVSS v4.0スコアが9.2(Critical)が付与されており、認証なしでリモートからコードが実行される可能性があるため、非常に危険です。
攻撃のメカニズムと影響
「PHP2Shell」による攻撃は、メモリに不完全なデータを残す「Producer」と、そのデータを別のリクエストで読み込む「Consumer」の組み合わせで成立します。この脆弱性により、PHPのSession Upload Progress機能(ext/session)がデフォルトで有効なため、広範囲な影響を及ぼしています。
特に、「OK」と返すだけのエンドポイントでも影響を受ける可能性があり、アプリのコード自体に問題がなくても防げない点が問題となっています。PHP-FPMやApacheのmod_php、php-cgiなど、ウェブリクエストを処理する多くのPHP環境が対象となり、Wiz ResearchはWordPress、Drupal、Joomlaに対する認証不要のリモートコード実行(RCE)の成功例を報告しています。
もしコード実行に至らなくても、メモリから他のリクエストのパスワード、トークン、APIキーや証明書等が漏洩するリスクがあり、その影響は広範囲に及ぶとされています。
脆弱性発見からパッチ公開までの経緯
2026年8月19日、Wiz ResearchはAI支援の研究ツールにより最初の脆弱性を発見し、8月24日にPHPの開発に非公開で報告しました。9月21日にはPHP側が報告を認識し、修正開発が始まりました。そして10月20日、PHPは10月21日に臨時のセキュリティリリースを行うと予告し、10月21日には脆弱性が含まれる流出アーカイブがVirusTotalに投稿され、正式公開前に詳細が漏洩しました。
この日にPHP開発チームは、PHP 8.5.12、8.4.27、8.3.36、8.2.35といった修正版を公開し、以前のバージョンであるPHP 8.1以前には修正版が提供されないことも明らかになりました。
攻撃の観測状況
Amazon Threat Intelligenceは、正式公開の4日前となる10月17日に最初の悪用試行を観測しました。この試行は商用の匿名化ネットワークに関連するIPアドレスからのもので、10月21日の早朝には数多くの攻撃試行が続いたことが確認されています。
また、Patchstackは同日7時34分(UTC)に、パッチ公開前にホスティングパートナーから複数の悪用事案の通知を受けています。Cloudflareは、同社ネットワークで観測した悪用の試みが、公表前の約10時間で数千件、公表後45分で数万件、2時間以内に数十万件、最終的には数百万件に達したと報告しています。
watchTowrは、パッチ公開とほぼ同時に攻撃を観測しましたが、成功例は確認されていないとのことです。
国内における被害と影響
日本国内では、株式会社バルテックが10月22日に、「PHPの脆弱性を標的としたサイバー攻撃」により不正アクセスを受け、顧客情報の流出が確認されたと公表しました。この影響により、24のサービスが停止され、復旧は最短で10月26日中を見込んでいます。一方で、フューチャーショップは同日10時14分に一部サーバーへの不正アクセスを確認し、個人情報の漏洩は今のところ見つかっていないとしています。
また、木原官房長官は、政府機関や重要インフラからの被害報告は受けていないと回答しました。国内サービスでは緊急メンテナンスや予防的なサービス停止が相次いでおり、さくらインターネットやBASEなどの主要サービスプロバイダーがすでにPHPの更新を完了しています。
さらに、2つのゲーム作品が脆弱性への対応を困難とし、サービスを終了する決断をしました。組み込み製品にも影響が広がり、Palo Alto Networksは同社の製品が影響を受けることを示す報告を行いましたが、製品固有のCVSSスコアは8.7となっています。
残る課題と対策
攻撃の試みが実環境で成功したかどうかは不明であり、成功した場合でもアプリケーションのログに手がかりが残らない恐れがあるとのことです。このため、すでにメモリから読み取られた認証情報は戻らず、APIキーやパスワードの入れ替えを検討せざるを得ない状況にあります。
Modatの調査によると、インターネット上の約438万件のPHPサービスのうち、約79%がサポートを終了しているため、修正版が提供されない環境が残ったままです。特にPHP 7.4を使用しているサービスが非常に多いことが問題視されています。
修正版への更新と再起動が唯一の完全な対策であり、一時的な緩和策としてsession.upload_progress.enabled=0の設定やWAFによる遮断が行われても根本的な解決には至りません。
