powered by TechFeed
表示モード
主要ニュース

PHPコア自体に10年越しの重大脆弱性 — AIが解析しWordPress・Drupalなどインターネットの70%でRCEを確認

10月21日、Wizが「PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the Internet」と題した記事を公開した。Wiz ResearchがPHPエンジンのコア自体に複数の重大な脆弱性を発見したという内容で、AIを活用することで10年以上誰も実用的なエクスプロイトを完成させられなかった壁を突破した点が業界に衝撃を与えている。影響範囲はWordPress、Drupal、Joomla、MediaWiki(Wikipedia)など、現在稼働中のウェブサイトの約70%を支えるエコシステム全体に及ぶ。

10月21日、Wizが「PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the Internet」と題した記事を公開した。Wiz ResearchがPHPエンジンのコア自体に複数の重大な脆弱性を発見したという内容で、AIを活用することで10年以上誰も実用的なエクスプロイトを完成させられなかった壁を突破した点が業界に衝撃を与えている。影響範囲はWordPress、Drupal、Joomla、MediaWiki(Wikipedia)など、現在稼働中のウェブサイトの約70%を支えるエコシステム全体に及ぶ。


AIが「実質的に不可能」だった攻撃を現実にした

この研究の核心は脆弱性の発見そのものより、AIが攻撃の複雑さという壁を取り除いたという事実にある。

発見されたバグ群は10年以上前から存在していた。しかし実際に悪用するには複数の脆弱性を連鎖させ、PHPのバージョンや設定、メモリレイアウトごとに細かい調整を繰り返す必要がある。PHPバージョンごとに内部挙動が異なるため、ある環境で機能したエクスプロイトが別環境では動かないことも多い。この複雑さが長年、実用的な攻撃への壁となっていた。

WizはこのプロセスにAIを投入した。元記事によれば複数のAIモデルを活用し、特定モデルが脆弱性の発見・エクスプロイト開発・攻撃検知・パッチ検証にわたって貢献したとされている(使用モデルの正式名称については元記事を直接参照されたい)。

Using [AI], the team at Wiz has shown why frontier AI is a game-changer for cyber defense. For over a decade, these critical vulnerabilities remained unaddressed because vulnerability discovery and exploitation were incredibly complex.

AIによって、標的ごとの調整・テスト・デバッグを数時間で回すことが可能になった。かつて高度な専門家でも困難だったエクスプロイトの横展開が、大幅に低コスト化している。Wizはこの変化を2014年のHeartbleedや2021年のLog4Shellと同列に位置づけ、「複雑さがもはや安全の壁にならない時代の到来」と捉えている。


インターネットの70%を脅かすPHPの脆弱性

Wiz Researchが発見した脆弱性は、PHP本体のコアエンジンに存在する。対象はWordPress、Drupal、Joomla、MediaWikiなど現在稼働中のウェブサイトの約70%を支えるエコシステム全体に及び、PHP 5.4以降の過去10年以上にわたるすべてのバージョンが影響を受ける。

重要なのは、これらが特定のアプリケーションの実装ミスではなく、PHPエンジン自体のバグである点だ。「Hello World」相当のシンプルなアプリケーションであっても、脆弱なPHPバージョン上で動作していれば攻撃対象となりうる。パッチは2026年10月21日にPHPチームからリリースされており、CVSSスコアは最大9.2に達する。


何ができてしまうのか

Wiz Researchはこれらの脆弱性を組み合わせた実証スクリプト「php2shell」を開発し、以下を特定の構成下で確認した。

  • 認証なしのリモートコード実行(RCE):WordPress、Drupal、Joomlaの最新コンテナイメージ(latest)に対し、認証なしでのコード実行を確認
  • プロセスメモリの読み取り:パスワード、認証トークン、APIキー、証明書などを、RCEを伴わずに外部から読み出せることを実証

脆弱性の根本はいずれも、PHPがリクエスト処理中にメモリ不足エラーなどのfatal errorを起こした際の後処理の不備にある。リクエスト終了後に破棄されたはずのメモリ領域を後続のリクエストやワーカーが再利用してしまうことで、Use-After-Free(UAF)や型混同といったメモリ破壊が生じる。

元記事に掲載された主なバグと実証内容は以下のとおりだ(CVE番号の正確な割り当ては元記事を直接参照されたい)。

バグ 実証内容
アップロード進捗アンシリアライザのUAF WordPress・Drupal・JoomlaへのRCE確認
リモートプロセスメモリ開示 アプリ非依存のメモリ読み取り実証
fatalエラーバックトレースのUAF DrupalへのRCE確認
OPcacheの型混同 WordPressへのRCE確認

なお、取り上げた4件以外にも同様のパターンに起因する追跡済み・未追跡の亜種が存在するとWizは指摘している。PHPチームのパッチは問題の根本を修正しており、亜種を含めすべてに対応している。


対応状況と防御のポイント

パッチ適用前の緩和策として、Cloudflare、AWS、Google Cloud、Akamai、Fastly、Microsoft、Vercelなど主要クラウド・CDN事業者が連携し、WAFルールやガイダンスの提供を行っている。

パッチ未適用の環境で監視すべきシグナルとして、Wizは以下を挙げている。

  • 異常なマルチパートリクエストの後に続くメモリ制限エラーや繰り返すHTTP 500応答
  • 異常に大きいまたは不正な形式のPHPSESSIDレスポンスCookie
  • 説明のつかないPHPワーカーの頻繁な再起動

ただし、根本的な解決策はPHPのセキュリティアップデートを適用することのみである。AIが攻撃複雑性という従来の防壁を無効化しつつある現在、パッチ適用の優先度はかつてなく高い。

詳細はPHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the Internetを参照していただきたい。