WordPress: 認証なしのパス・トラバーサルによる条件付きRCE
WordPress: Unauthenticated path traversal leading to conditional RCE (github.com)
要約
WordPressのページテンプレート解決機能に認証なしのパス・トラバーサル脆弱性が存在し、特定の条件下でリモートからのコード実行(RCE)につながる可能性があります。この脆弱性は、特定のディレクトリ構造を持つテーマが有効化されており、サーバー上に存在するPHPファイルを指定できる場合に悪用される可能性があります。
全文翻訳
ページテンプレート解決における認証なしパス・トラバーサルが条件付きRCEにつながる
クリティカル
johnbillion が 2026年9月22日に GHSA-7hp8-65ch-5whp を公開しました
ソフトウェア
WordPress
影響を受けるバージョン
7.1.0 - 7.1.1
7.0.0 - 7.0.5
6.9.0 - 6.9.8
6.8.0 - 6.8.9
6.7.0 - 6.7.8
6.6.0 - 6.6.8
6.5.0 - 6.5.11
6.4.0 - 6.4.11
6.3.0 - 6.3.11
6.2.0 - 6.2.12
6.1.0 - 6.1.13
6.0.0 - 6.0.15
5.9.0 - 5.9.17
5.8.0 - 5.8.16
5.7.0 - 5.7.18
5.6.0 - 5.6.20
5.5.0 - 5.5.21
5.4.0 - 5.4.22
5.3.0 - 5.3.24
5.2.0 - 5.2.27
5.1.0 - 5.1.25
5.0.0 - 5.0.28
4.9.0 - 4.9.32
4.8.0 - 4.8.31
4.7.0 - 4.7.36
修正されたバージョン
7.1.2
7.0.6
6.9.9
6.8.10
6.7.9
6.6.9
6.5.12
6.4.12
6.3.12
6.2.13
6.1.14
6.0.16
5.9.18
5.8.17
5.7.19
5.6.21
5.5.22
5.4.23
5.3.25
5.2.28
5.1.26
5.0.29
4.9.33
4.8.32
4.7.37
説明
認証されていない攻撃者は、get_page_template() によるページテンプレートの解決処理において、アクティブなテーマディレクトリ外の任意のローカルPHPファイルをインクルードさせることができます。サーバー環境とアクティブなテーマの両方で関連する事前条件が満たされている場合、これはRCE(リモートコード実行)につながる可能性があります。
事前条件は以下の通りです:
- アクティブな子テーマまたは親テーマに、
page-で始まるトップレベルディレクトリ(例:page-templates)が存在すること。これは、レガシーなTwenty TwelveおよびTwenty Fourteenテーマ、ならびにNeve、Hestia、Sydneyといった人気のあるサードパーティテーマに影響します。 - サーバー上にターゲットとなるローカルPHPファイルが存在し、Webサーバーアカウントがそれを読み取れること。
register_argc_argvがOnに設定されている場合、有名なpearcmd.phpのPEAR→RCE遷移を利用できます。Dockerの公式phpイメージが影響を受け、PHP 8.5より前のバージョンが使用されている場合のデフォルトのcPanel構成も影響を受けます。
WordPress 7.1.2 で脆弱性の修正が含まれるバージョンがリリースされました。古いブランチのユーザーへの配慮として、4.7まで全てのブランチに修正がバックポートされています。
Robert Ressl によって発見され、責任ある開示が行われました。
重大度
クリティカル
CVSS全体スコア
このスコアは、Common Vulnerability Scoring System (CVSS) に基づいて、脆弱性の全体的な重大度を0から10で計算したものです。
/ 10
CVSS v4 ベースメトリクス
悪用可能性メトリクス
Attack Vector Network
Attack Complexity Low
Attack Requirements Present
Privileges Required None
User interaction None
脆弱なシステムへの影響メトリクス
Confidentiality High
Integrity High
Availability High
後続システムへの影響メトリクス
Confidentiality None
Integrity None
Availability None
CVSS v4 ベースメトリクス
悪用可能性メトリクス
Attack Vector: このメトリクスは、脆弱性の悪用が可能となるコンテキストを反映します。このメトリクスの値(およびそれに伴う重大度)は、攻撃者が脆弱なシステムを悪用するために、論理的および物理的に、より遠隔からアクセスできるほど大きくなります。ネットワーク全体から悪用可能な脆弱性の潜在的な攻撃者の数は、物理的なアクセスを必要とする脆弱性を悪用できる潜在的な攻撃者の数よりも多いと仮定されるため、より高い重大度が与えられます。
Attack Complexity: このメトリクスは、攻撃者が動作するエクスプロイトを得るために、既存の組み込みセキュリティ強化条件を回避または克服するために積極的に取る必要のある測定可能なアクションを捉えます。これらはセキュリティを高めることを主な目的とした条件であり、エクスプロイトエンジニアリングの複雑さを増します。ターゲット固有の変数なしで悪用可能な脆弱性は、非自明なカスタマイズを必要とする脆弱性よりも複雑性が低くなります。このメトリクスは、脆弱なシステムによって利用されるセキュリティメカニズムを捉えることを目的としています。
Attack Requirements: このメトリクスは、攻撃の実行を可能にする脆弱なシステムの前提となるデプロイメントおよび実行条件または変数を捉えます。これらは、これらの条件の主な目的が攻撃を明示的に軽減することではなく、脆弱なシステムのデプロイメントおよび実行の結果として自然に発生するという点で、セキュリティ強化技術/テクノロジー(Attack Complexity参照)とは異なります。
Privileges Required: このメトリクスは、攻撃者が脆弱性を正常に悪用する前に持つ必要のある権限のレベルを記述します。攻撃者が攻撃前に特権クレデンシャルを取得する方法(例:無料トライアルアカウント)は、このメトリクスの範囲外です。一般的に、攻撃者が攻撃の一部として権限を自身に付与できる場合、セルフサービスでプロビジョニングされたアカウントは権限要件を構成しません。
User interaction: このメトリクスは、脆弱なシステムの正常な侵害に、攻撃者以外の人間ユーザーが参加する必要性を捉えます。このメトリクスは、脆弱性が攻撃者の意思のみで悪用可能かどうか、または個別のユーザー(またはユーザーによって開始されたプロセス)が何らかの形で参加する必要があるかどうかを決定します。
脆弱なシステムへの影響メトリクス
Confidentiality: このメトリクスは、脆弱性が正常に悪用された結果として、脆弱なシステムによって管理される情報への機密性への影響を測定します。機密性とは、情報へのアクセスと開示を許可されたユーザーのみに制限すること、および許可されていないユーザーによるアクセスまたは開示を防ぐことを指します。
Integrity: このメトリクスは、脆弱性が正常に悪用された結果としての整合性への影響を測定します。整合性とは、情報の信頼性と正確性を指します。脆弱なシステムの整合性は、攻撃者がシステムデータを不正に変更した場合に影響を受けます。また、システムユーザーがシステムコンテキスト(例:不十分なロギングのため)で取られた重要なアクションを否認できる場合にも整合性は影響を受けます。
Availability: このメトリクスは、脆弱性が正常に悪用された結果として、脆弱なシステムへの可用性への影響を測定します。機密性および整合性への影響メトリクスは、システムによって使用されるデータ(例:情報、ファイル)の機密性または整合性の喪失に適用されますが、このメトリクスは、ネットワークサービス(例:Web、データベース、メール)のような影響を受けるシステム自体の可用性の喪失を指します。可用性は情報リソースへのアクセス可能性を指すため、ネットワーク帯域幅、プロセッササイクル、またはディスクスペースを消費する攻撃はすべて、システムの可用性に影響を与えます。
後続システムへの影響メトリクス
Confidentiality: このメトリクスは、脆弱性が正常に悪用された結果として、後続システムによって管理される情報への機密性への影響を測定します。機密性とは、情報へのアクセスと開示を許可されたユーザーのみに制限すること、および許可されていないユーザーによるアクセスまたは開示を防ぐことを指します。
Integrity: このメトリクスは、脆弱性が正常に悪用された結果としての整合性への影響を測定します。整合性とは、情報の信頼性と正確性を指します。後続システムの整合性は、攻撃者がシステムデータを不正に変更した場合に影響を受けます。また、システムユーザーがシステムコンテキスト(例:不十分なロギングのため)で取られた重要なアクションを否認できる場合にも整合性は影響を受けます。
Availability: このメトリクスは、脆弱性が正常に悪用された結果として、後続システムへの可用性への影響を測定します。機密性および整合性への影響メトリクスは、システムによって使用されるデータ(例:情報、ファイル)の機密性または整合性の喪失に適用されますが、このメトリクスは、ネットワークサービス(例:Web、データベース、メール)のような影響を受けるシステム自体の可用性の喪失を指します。可用性は情報リソースへのアクセス可能性を指すため、ネットワーク帯域幅、プロセッササイクル、またはディスクスペースを消費する攻撃はすべて、システムの可用性に影響を与えます。
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVE ID
CVE-2026-87902
弱点
Weakness CWE-98
PHPプログラムにおけるファイル名の不適切な制御(インクルード/リクワイア)によるリモートファイルインクルージョン
PHPアプリケーションは、アップストリームコンポーネントから入力を受け取りますが、require、include、または類似の関数で使用する前にその入力を制限しないか、不適切に制限します。MITREでさらに学ぶ。
謝辞
- [画像: @ressl] ressl レポーター