WordPressは2026年9月22日、セキュリティアドバイザリGHSA-7hp8-65ch-5whpを公開し、ページテンプレートの解決処理における経路トラバーサルの欠陥であるCVE-2026-87902について説明しました。この脆弱性には、重大度9.2というCVSS v4スコアが付けられています。最も重要な点は、条件付きの脆弱性であることです。認証を持たないネットワーク攻撃者がget_page_template()を利用し、アクティブなテーマディレクトリの外部にある、選択された読み取り可能なローカルPHPファイルを取り込める可能性があります。ただし、リモートコード実行には、さらにデプロイ環境とテーマに関する条件を満たす必要があります。以下の仕組みとバージョン一覧はWordPress自身の調査結果に基づくものです。提供された資料には、第三者による再現結果や別のセキュリティ報告は含まれていません。
冒頭のパラグラフでは、WordPressのアドバイザリと、重大度が高いものの条件付きである経路トラバーサルの脆弱性について紹介しています。
攻撃は、管理者アカウントの取得ではなく、テンプレート解決の制御から始まります。アドバイザリによると、アクティブな子テーマまたは親テーマには、page-で始まる名前のトップレベルディレクトリが含まれている必要があります。例えば、page-templatesが該当します。WordPressは、レガシーテーマであるTwenty TwelveとTwenty Fourteenを例として挙げており、影響対象のサードパーティ製テーマとしてNeve、Hestia、Sydneyも名指ししています。これらの名前は条件を満たす例を示すものであり、この条件を満たせるテーマがこれらだけだと述べているわけではありません。したがって、サイト管理者はテーマ名のチェックリストだけに依存せず、アクティブなテーマの階層を調べるべきです。
該当するディレクトリが存在するだけでは、それ自体では不十分です。選択されたローカルPHPファイルが実際に存在し、さらにPHPの実行アカウントから読み取れる必要があります。アドバイザリはpearcmd.phpを標的の一例として特定しており、register_argc_argvが有効な場合の、確立されたPEARコマンド実行への移行についても説明しています。この点について、公式PHP Dockerイメージが影響を受けると特定しており、PHP 8.5より前のバージョンを使用する場合、cPanelのデフォルト設定も影響を受けると述べています。これらの例は、一部のホスティング環境ではこの欠陥が重大になり得る理由を示すものであり、すべてのWordPressインストールに必要な標的ファイルやPHP設定が公開されていることを意味するものではありません。
この区別は、運用上の判断において重要です。認証不要のリクエストで、権限も被害者の操作も不要であるため、前提条件がそろえば、潜在的な攻撃はネットワーク経由で実行でき、比較的単純になります。ただし、アドバイザリの攻撃要件指標には、前提となるデプロイ条件が必要であると記録されています。したがって、証拠が示すのは条件付きのリスクモデルです。曝露の有無は、脆弱なWordPressコード、対象となるテーマ構成、読み取り可能なPHP標的、関連するPHP設定がどのように組み合わさるかに依存します。これは、名前の挙がったテーマを使用するすべてのインストールでリモートコード実行が可能だと証明するものではなく、提供されたアドバイザリが野外での悪用を確認したものを示すものでもありません。
WordPressによると、バージョン7.1.2に修正が含まれており、この修正はサポートされている古いブランチにも反映され、WordPress 4.7までさかのぼって提供されています。一覧に記載された修正版リリースは、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です。アドバイザリに示された、それぞれの直前のリリース範囲は影響対象と明記されており、その範囲は4.7.0までさかのぼります。
管理者にとって最初の実践的な対応は、インストール済みのWordPressバージョンを、各ブランチの修正版リリースと比較することです。最近のメジャーバージョンを使っているかどうかだけを確認するのは不十分です。古いブランチでも完全に修正されていれば時代遅れに見える場合がありますが、この修正は含まれています。逆に、最新のメジャーリリースでも、そのブランチの修正版リリースより前のバージョンであれば脆弱なままです。アップグレード後には、重要なシステムやインターネットに公開されているシステムを管理する運用者は、アクティブなテーマに条件を満たすpage-*ディレクトリが含まれていないか、またPHPランタイムが、説明された取り込み連鎖に利用できる読み取り可能なファイルを公開していないかを、別途評価する必要があります。
このアドバイザリは、責任ある開示を行ったRobert Resslに謝意を示しており、この弱点を、PHPのincludeまたはrequire操作で使用されるファイル名の制御が不適切であるとするCWE-98に分類しています。この分類は、報告された不具合がテンプレートファイルの選択中に発生していることと整合します。ただし、この分類は、攻撃者が任意のリモートURLを取り込める、またはオペレーティングシステムの読み取り権限を回避できることを意味するものではありません。文書化された経路では、Webサーバーのアカウントから読み取れるローカルPHP標的が必要であり、その取り込みをコード実行に移行させるための追加条件も必要です。
したがって、読者が得るべき中心的な結論は、見出しだけから受ける重大度よりも狭いものです。環境が条件を満たしている場合、CVE-2026-87902は認証、ユーザーの操作、複雑な攻撃手順を必要としないため、迅速な修正を行う価値があります。一方で、現在公開されている情報から、すべてのWordPressサイトが同じ程度に曝露されていると判断することはできません。適切な修正版リリースへ更新すれば、脆弱なコード経路を除去できます。また、テーマ構成とPHPのデプロイ条件を評価することで、運用者は残存リスクを理解し、完全な悪用連鎖が存在し得たシステムを優先的に対処できます。