PHP2Shellの悪用:PHPの2つの重大な脆弱性を解説
PHPエンジンの2つの重要なリモートコード実行脆弱性、CVE-2026-109618およびCVE-2026-109619(「PHP2Shell」のニックネーム)は、2026年10月21日のPHPセキュリティリリース前に技術詳細がリークされた後、積極的な悪用の対象となっていると報告されています。これらの脆弱性は特定のアプリケーションではなくPHP自体に影響を与えるため、WordPress、Drupal、Joomlaなどのプラットフォームで構築されたウェブサイトを含め、脆弱なPHPバージョンを使用しているウェブサイトが危険にさらされる可能性があります。
この記事では、PHPのアドバイザリー、エクスプロイテーション報告、公開された概念実証エクスプロイト、露出データ、パッチ適用のガイダンス、そして顧客に公開された TTP インスタンスの詳細 Insikt Group® 扱います。 Attack Surface IntelligenceRecorded Future 顧客向けに CVE-2026-109618 および CVE-2026-109619 の署名が利用可能です。PHPを使用している組織は、直ちにパッチを適用すべきです。
最新情報
Insikt Groupは、公開された概念実証(PoC)エクスプロイト、観察されたエクスプロイト活動、推奨される緩和策を網羅したPHP2ShellのTTPインスタンスを公開しています。2026年10月21日午後7時(UTC)現在:
- パッチステータス: PHP は 2026 年 10 月 21 日に修正版をリリースしました: PHP 8.2.35、8.3.36、8.4.27、および8.5.12。
- 悪用状況:PHP2Shellを標的とした新たな悪用試みの報告はありますが、利用可能なレポートは成功した悪用の全容や確認された情報漏洩/侵害の全容を明らかにしていません(1, 2)。
- PoCの状況: 公開されているリポジトリはPHP2Shellの概念実証(PoC)エクスプロイトを提供すると主張していますが、その効果や確認された脆弱性との関係は異なります。例えば、セキュリティ研究者のJ4ck3LSyNは、2つの概念実証(PoC)を公開したが、その後、提案された攻撃手順の根拠となっているキャッシュポインタUAF理論を否定した。
始まり方
2026年10月20日、PHPセキュリティチームは10月21日14:00 UTCに、CVSS v4.0で9.2と評価された2つの重大な脆弱性を修正するためのアウトオブバンドセキュリティリリース を発表 しました。PHPは当初、技術的詳細や影響するバージョンを協調的な開示まで伏せており、脆弱性の詳細が漏洩したり悪用が明らかになった場合、リリースが加速される可能性があると警告していました。
予定されたリリース前に、watchTowrはCVE-2026-109618の再現を報告し、両方の脆弱性がリモートコード実行(RCE)を可能にする可能性があると評価しました。その後、組織的な情報公開に先立って技術情報が漏洩し、悪用される可能性に対する懸念が高まった。PHPは10月21日に修正プログラムをリリースし、同時にPHP Foundationもリリースに関する記事を公開した。この記事では、緊急リリースとPHPのセキュリティプロセスの改善について説明している。
「PHP2Shell」という名称は、CalifとOpenAIの脆弱性を発見し、8月にPHPに報告したWiz Researchに由来する。Wiz氏の記事では、その発見と根本原因について詳しく解説されている。
脆弱性
両者の CVE は、初期化、エラー処理、クリーンアップ中のリクエストメモリの処理に関するメモリ安全脆弱性です。Wizによると、メモリ不足(OOM)エラーや古い内部状態は、解放済みまたは部分的に初期化されたメモリを露出させ、メモリ情報漏洩、メモリ破損、リモートコード実行(RCE)を引き起こす可能性があるという。
- CVE-2026-109618: 部分的に初期化されたリクエストメモリに関わるOOM関連の脆弱性。Wizは、セッションアップロード進行状況のアンシリアライザに解放後使用(UAF)の脆弱性と、PHPワーカーメモリを漏洩させる可能性のある関連する欠陥を発見しました。Wizは、WordPress、Drupal、Joomlaに対する認証不要のリモートコード実行(RCE)を実証した。
- CVE-2026-109619: 解放されたリクエストメモリへの参照を保持するPHPグローバルに関するステールステート脆弱性。Wizは、致命的なエラーのバックトレースに関連するUAFと、別のOPcache型混同の脆弱性を特定した。Wizは、DrupalとWordPressに対する認証不要のリモートコード実行(RCE)を実証した。
これらの脆弱性は特定のウェブサイトアプリケーションではなく、PHP自体に影響を及ぼします。一部の攻撃経路では、PHPのセッションアップロード進行状況機能が利用されます。VirusTotalによると、この機能はPHP 5.4.0以降に存在し、デフォルトで有効になっています。攻撃の可否はPHPランタイム、サーバー構成、および実行可能なパスに依存するため、安全なアプリケーションコードを持つウェブサイトであっても脆弱性が存在する可能性がある。
PHPは、影響を受けるバージョンとパッチが適用されたバージョンを以下のように特定しました。古い、サポート対象外のPHPブランチは、これらのリリース固有の修正の対象外であり、影響を受けないと考えるべきではありません。
積極的な搾取の報告
PHP2Shellの脆弱性が明らかになった後、複数の情報源が野外での悪用活動を報告しました:
- パッチスタック 受賞10月21日07:34 UTCまでに、PHPのセキュリティリリース前にホスティングパートナーからの複数のアクティブエクスプロイトインシデントの報告。
- CloudflareのCTOデーン・クネヒトは、脆弱性を標的とした初期の攻撃を目撃したと 報告 しました。その後、Cloudflareは既知のエクスプロイトベクターに対するウェブアプリケーションファイアウォール(WAF)保護を展開しました。
これらの報告は早期の悪用活動を示しているものの、公開されている証拠は情報漏洩/侵害の成功度や観察された攻撃で使用された TTPs の特徴を特定するには不十分です。
公開された概念実証エクスプロイト
PHP2Shellを中心に、概念実証(PoC)エクスプロイトを宣伝するプロジェクト、脆弱性テストツール、防御リソースなど、多数の 公開GitHubリポジトリ が誕生しています。いくつかのサイトは、CVE-2026-109618およびCVE-2026-109619をメモリ破損を通じて狙い、脆弱なサーバーをクラッシュさせたりリモートコード実行(RCE)を実現したりすることを目的 TTPs と主張しています。 しかし、一部は無効化されたエクスプロイテーション理論に依存しており、公開されているコードの存在からといって、どちらの脆弱性も成功裏に悪用しているとは限りません。
Insikt GroupのTTPインスタンスは、セキュリティ研究者J4ck3LSyNが 公開 した2つのPoCスクリプトを検証します。
poc0_109618.py:もともとはPHPのセッションアップロード進捗機能を通じてCVE-2026-109618を悪用し、脆弱なサーバー上でコマンドを実行するメモリ破損 TTPs を提案する設計でした。poc1_109619.py:もともとは、アップロードされたファイルの連続したチャンクを含む関連 TTPs を通じてCVE-2026-109619を悪用し、同様にリモートコード実行を試みることを意図していました。
J4ck3LSyNはこれらの提案された悪用 TTPs の基盤となるキャッシュポインタ脆弱性理論を無効化しましたが、RCEを示さずに別のメモリ安全問題を再現したと報告しました。
他の公開リポジトリではPHP2Shellの脆弱性、脆弱性テストスクリプト、デモンストレーション環境が宣伝されています。無効化されたキャッシュポインタ TTPsを説明し続けるものもあれば、異なる悪用手法を使用していると主張するものもあります。 本記事掲載時点で、Insikt GroupはJ4ck3LSyNのPoCやその他の公開されているPoCの正確性や有効性を独自にテストしていません。
規模と露出
2つの独立したインターネットスキャンによってPHPがどれだけ公開されているかが明らかになったが、そのカウント方法は異なっていた。Modatは、読みやすいバージョンを報告し、10月20日までの10日間に確認されたPHPサービスをカウントします。VirusTotalは10月21日時点のIPアドレスをカウントしており、これにはバージョン文字列以外のシグナル(アプリケーション、セッションクッキー、フレームワークヘッダーなど)によって識別されたPHPサーバーも含まれています。
- Modat: 1,886,612 台のユニークなホスト上で 4,384,302 の PHP サービスが稼働しています。読みやすいバージョンを持つサービスの約79%は、PHPがサポートしなくなったブランチで動作しており、2022年にサポートが終了したPHP 7.4は878,761のサービスを占めており、サポートされているどのブランチよりも多い。
- VirusTotalによると、 PHPを実行しているIPアドレスは約510万件あり、そのうちバージョンを公開しているのは約110万件のみで、約5分の4はバージョンを隠している。バージョンを公開しているユーザーのうち、約75万8000人がサポート終了となった5.4から8.1のブランチを使用しているのに対し、サポート対象ブランチを使用しているユーザーは約27万2000人であり、PHP 7.4だけでも約18万7000人を占めている。
どちらのスキャンでも脆弱性が確認されたホストは検出されなかったが、どちらも同じ方向性を示している。つまり、脆弱性にさらされているPHPのほとんどは、公式な修正プログラムが提供されないサポート終了済みのブランチで動作しているということだ。バージョン文字列に依存するスキャンでは露出した表面の大部分を見逃し、最新リリースを実行しても保護は得られませんでした。VirusTotalは9月24日のリリースで約85,000のIPアドレスを数えており、修正前に利用可能な最新のものでした。
なぜこれが重要なのか
- 数百万台のサーバーが危険にさらされる可能性があります: VirusTotalは約510万件のIPアドレスがPHPを実行していること を特定し 、これらの脆弱性が広範囲に及んでいる可能性を浮き彫りにしました。
- 安全なPHPアプリケーションでさえリスクがあります: これらの欠陥は、PHP上で動作するアプリケーションに脆弱性がなくても、認証されていないリモートコード実行を可能にしてしまうことがあります。
- コードの実行なしに機密情報が漏洩する可能性がある: Wizは、メモリ開示の脆弱性により、他のリクエストからパスワード、認証トークン、APIキー、証明書などが漏洩する可能性があることを示した。
- パッチの公開期間が短縮された。 リリース数時間前に詳細が漏洩し、セキュリティ研究者ら は 修正版が利用可能になる前に悪用を試みたことを報告した( 1、2 )。
- 多くのサーバーが古いPHPバージョンを実行している: VirusTotalの調査によると、バージョンを公開したPHPサーバーのほとんどが、定期的なアップストリームのセキュリティアップデートを受け取らなくなったサポート終了済みのブランチを実行していた。
- 情報漏洩 / 侵害はウェブサーバーを超えて広がる可能性があります: VirusTotalは、約394,000台のPHPホストがSecure Shell(SSH)も公開し、約233,000台がMySQLを露出し、約68,000台がリモートデスクトッププロトコル(RDP)を公開していることを発見しました。
- ログにはほとんど情報が記録されない可能性があります。攻撃はアプリケーション層より下位で発生するため、アプリケーションログには限られた情報しか記録されない場合があります。
イベントのタイムライン
PHP2Shellの脆弱性の公開は数週間にわたって進行し、2026年8月の発見から始まり、2026年10月21日の緊急セキュリティリリースへと至りました。しかし、脆弱性の詳細は調整リリース前に公開され、防御準備やパッチが提供される前に悪用活動の報告が行われました。
以下のタイムラインは、発見に関連する主要な展開、調整された開示、早期の利用報告、そして Recorded Future's レスポンスに関する概要を示します。
- 2026年8月19日: Wiz ResearchはAI支援の研究ツールを用いて最初のPHP脆弱性を発見しました。
- 2026年8月20日: Wiz Researchは、Drupalに対する認証不要のリモートコード実行(RCE)を確認した。
- 2026年8月21日: Wiz ResearchがWordPressに対する認証不要のリモートコード実行(RCE)脆弱性を確認。
- 2026年8月24日: Wiz ResearchはPHPセキュリティチームに脆弱性を非公開で報告し、協調的な開示プロセスを開始しました。
- 2026年9月21日: PHPセキュリティチームは脆弱性報告を認識し、協調的な修正策の開発を開始しました。
- 2026年10月20日: PHPは2つの重大な脆弱性に対処するため、10月21日に予定されている緊急のアウトオブバンドセキュリティリリースを発表しました。
- 2026年10月20日:Insikt Groupは今後のPHPセキュリティアップデートを強調する初期インテリジェンスノートを発表。
- 2026年10月20日:Recorded FutureCVE-2026-109618およびCVE-2026-109619の潜在的な露出を特定するためのAttack Surface Intelligenceシグネチャを開発しました。
- 2026年10月21日 02:29 UTC: リークされた脆弱性情報を含むアーカイブが最初にVirusTotalに提出されました。
- 2026年10月21日 07:34 UTC: Patchstackは、予定されたセキュリティリリースの数時間前に、ホスティングパートナーから複数のアクティブなエクスプロイテーションインシデントの通知を受け取ったと報告しています。
- 2026年10月21日 13:52 UTC: PHPは、先に発表されていた14:00 UTCのリリース時間に先立ち、両方の脆弱性に対応するセキュリティアップデートをリリースしました。
- 2026年10月21日 17:52 UTC:Insikt Groupは脅威検知と解析を支援するためにPHP2Shell戦術、TTPs、TTPs(TTP)インスタンスを公開しました。
特筆すべきは、公式セキュリティリリース前に悪用活動の報告が出ており、その間、脆弱性情報が公に流通している間、影響を受けた組織は公式のパッチを欠いていました。その結果、PHPユーザーは、公式パッチが公開される前に発生した悪用行為を発見する可能性がある。したがって、脅威ハンターは脆弱性開示が公開される前に、悪用の遡及期間を延長すべきです。
Recorded Future 独立分析
Recorded Future's Insikt Group PHP2Shell脆弱性、公開されている概念実証(PoC)エクスプロイト、報告された悪用活動、防御策を分析しました。 その結果生まれた TTP インスタンスは、防御者に露出の評価、優先順位を付ける修復 / 復旧 / 改善、潜在的な攻撃の特定に役立つ技術的な文脈と実行可能な指針を提供します。
- 公開されている概念実証 (PoC):複数の公開されている GitHub リポジトリが、CVE-2026-109618 および CVE-2026-109619 を標的とした PHP2Shell の概念実証 (PoC) エクスプロイトを提供していると主張しています。これらのPoCはPHPのメモリ安全脆弱性を悪用してリモートコード実行を実現することに焦点を当てていますが、効果は様々で、一部は後に無効化された悪用 TTPs に依存しています。
- エクスプロイト活動: セキュリティベンダーはPHP2Shellを標的とした新たなエクスプロイトの試みを報告していますが、成功したエクスプロイトの程度はまだ不明であり、情報漏洩/侵害(IoCs)の確認された指標も限られています。 Insikt GroupのTTPインスタンスには、異常なウェブリクエスト、PHPエラー、不審なサーバー活動など、防御者が監視できる潜在的な警告サインが含まれています。
今すぐやるべきこと
PHPベースのアプリケーションを運用する組織は、脆弱なシステムのパッチ適用、露出の評価、潜在的な悪用の監視を優先順位を付けるべきです。 協調されたセキュリティリリース前に悪用活動の報告があったことを考慮すると、パッチが利用可能になる前に影響を受けたシステムが情報漏洩や侵害を行っていた可能性も調査すべきです。
Insikt Group PHP2Shellに関連するリスクに対処するために、緩和する以下の対策を推奨しています。
- 優先順位を付けるPatching and Repair / 復旧 / 改善: 影響を受けたPHP展開を適切なパッチ適用バージョンにアップグレードし、優先順位を付けるインターネット対応アプリケーションや重要インフラを行ってください。 サポート対象外のPHPバージョンを使用している組織は、サポート対象のリリースに移行するか、ベンダーが提供するセキュリティ修正プログラムを入手する必要があります。修復 / 復旧 / 改善には、サードパーティのアプリケーション、コンテナ、マネージドサービスに組み込まれたPHPコンポーネントが含まれていることを確認してください。
- 露出した資産を特定し、修復/復旧/改善の検証を行う: 組織環境全体でPHPの展開を在庫管理し、インターネットのアクセス性、設定、ビジネスの重要性に基づいて露出を評価します。 Recorded Future 顧客は Attack Surface Intelligence を活用して、潜在的に脆弱なインターネット関連資産を特定し、修復/復旧/改善の取り組みを検証すべきです。
- 補償的なセキュリティ制御を実装する: 即時のパッチ適用が困難な場合は、脆弱なシステムへの外部アクセスを制限し、該当するWAF保護、リクエストフィルタリング、PHP構成強化を実施します。 境界防御を迂回するために、オリジンサーバーに直接アクセスできないようにしてください。これらの対策は露出を特定の悪用 TTPsに減らす可能性がありますが、パッチの代替とは考えるべきではありません。
- 悪用の監視と潜在的な情報漏洩/侵害の調査: ウェブサーバー、アプリケーション、エンドポイントのテレメトリを確認し、異常なHTTPリクエスト、PHPプロセスの失敗、予期しないコマンド実行、その他の悪意ある活動の兆候を調査してください。 優先順位を付ける 2026年10月20日からの活動を再検討し、情報漏洩/侵害システムの調査を行います。 情報漏洩 / 侵害が特定された場合、インシデント レスポンス手続きを開始し、潜在的に露出する認証情報をローテーションします。
Recorded Future顧客はRecorded Futureインテリジェンスオペレーションズプラットフォームにおいて、CVE-2026-109618およびCVE-2026-109619のInsikt GroupPHP2ShellTTPインスタンス、検証済みインテリジェンスイベント、Vulnerability Intelligenceカード®にアクセスできます。Recorded FutureはPHP2Shellに関する動向を引き続き監視し、追加情報が得られ次第最新情報を提供します。
How T Recorded Future Helps 優先順位を付ける Active Exploited 脆弱性
PHP2Shellは、情報漏洩から悪用までわずか数時間で進行したため、どこが危険にさらされているのか、そして最初に何を修正すべきかを判断する時間がほとんど残されていません。Recorded Futureがチームの優先順位を付ける脆弱性を攻撃者が悪用している方法を学ぶ
Insikt Group 研究を行う際には責任ある開示手続きを遵守しています。
Insikt Group®について
Recorded Futureの脅威調査部門であるInsikt Groupは、政府機関、法執行機関、軍、情報機関での豊富な経験を持つアナリストとセキュリティ研究者で構成されています。その使命は、顧客のリスクを軽減し、具体的な成果を可能にし、事業の中断を防ぐような情報を提供することである。
関連リソース
サイバーセキュリティ戦略を強化するための専門家の洞察、レポート、ツールをご覧ください。