WordPressを使っているならまず現在のバージョンを確認し、修正版が未適用であれば早めに更新してください。2026年9月22日に公開されたWordPress 7.1.2ではログインしていない第三者が条件次第でサーバー上のPHPファイルを読み込ませられる脆弱性「CVE-2026-87902」が修正されました。公開当日から攻撃が観測され翌日にはファイルの書き込みを試みる攻撃も確認されています。
「7.1.1に更新したばかりなのに、また?」と思うかもしれません。今回の脆弱性は、7.1.1で修正された「Click2Shell」とは別の問題です。何が起きるのか、自分のサイトが対象かどうか、更新後に何を確認すればよいかを順に説明します。
WordPress 7.1.2で修正されたCVE-2026-87902とは
WordPress 7.1.2は2026年9月22日に公開されたセキュリティリリースです。修正対象はCVE-2026-87902(GHSA-7hp8-65ch-5whp)で、WordPress公式のリリースノートでは深刻度の高い脆弱性として直ちに更新するよう案内しています。
Patchstackの技術解説によるとCVSS 4.0スコア(0.0 ~ 10.0で高いほど深刻)は9.2、極めて危険で即時対応が必要な脆弱性という判定です。影響を受けるのはWordPressコアの4.7.0から7.1.1まで。発見者はセキュリティ研究者のRobert Ressl氏で、攻撃にログインアカウントは必要ありません。
原因はページテンプレートを選ぶ処理の抜け穴
WordPressはページを表示するとき使用するテンプレートファイルを選びます。この処理を担う関数の一つがget_page_template()です。
問題は、テンプレートの候補を作る際リクエストに含まれるpagenameの値をそのまま使っていたことです。別の候補にはvalidate_file()によるファイル名のチェックが入っていましたが、pagenameから作る候補には同じチェックがありませんでした。さらに、値をurldecode()でデコードしていたため、細工された値がテーマの外にあるファイルを指す経路になり得ました。
未ログインの第三者が実在するページを指定しpagenameに細工した値を送る。
↓
get_page_template()が値をデコードしファイル名のチェックなしで候補に加える。
validate_file()によるチェックを追加
↓
有効なテーマの直下にpage-で始まるディレクトリがあり、テーマ外に読み込み可能なPHPファイルがある
↓
テーマ外の読み込み可能な.phpファイルをテンプレートとして読み込む
読み込むテンプレートファイルのパスをチェックするように
↓
例)pearcmd.phpが悪用可能でregister_argc_argvが有効
コード実行に至るには、さらに条件がある
この脆弱性で可能になるのは、条件に合うサーバー上のPHPファイルをページテンプレートとして読み込ませることです。攻撃者が選んだコードをそのまま実行できるわけではありません。コード実行まで進むかどうかには、主に次の条件が関わります。
| 条件 | 内容 |
|---|---|
| テーマの構造 | 有効化中の親テーマまたは子テーマの直下にpage-で始まるディレクトリがある。例) page-templates |
| サーバー上のファイルと設定 | 読み込みによって悪用できるPHPファイルが存在する。報告されている攻撃ではPEARのpearcmd.phpが使われています。これを悪用するにはPHPの register_argc_argvが有効である必要があります。 |
register_argc_argvはPHPの実行時に渡された引数をスクリプトから参照できるようにする設定です。Patchstackによると、PHPの公式Dockerイメージなど有効になっている環境もあります。
7.1.1で修正された「Click2Shell」とは別の問題
直前の更新と混同しやすいため、違いを整理します。
| Click2Shell | CVE-2026-87902 | |
|---|---|---|
| 修正されたバージョン | 7.1.1 | 7.1.2 |
| 攻撃の起点 | ログイン中の管理者に細工したリンクを開かせる | 未ログインの第三者がサイトにリクエストを送る |
| 管理者の操作 | 攻撃の成立に関わる | 必要ない |
Click2Shellは管理者の操作が攻撃のきっかけになります。一方、CVE-2026-87902では管理者がリンクを開かなくても攻撃を試みられます。
7.1.1で修正されたClick2Shellの仕組みやコード実行までに必要な条件はこちらの記事で詳しく整理しています。


公開当日から攻撃が観測されている
Patchstackの観測報告によると、最初の攻撃リクエストは2026年9月22日11時49分(UTC)に確認されました。当初はサイトが脆弱かどうかを調べるようなリクエストが中心でした。
その後、pearcmd.phpを使って/tmpや/var/tmpへPHPファイルを書き込もうとする攻撃も確認されています。9月23日には通信量が最初の晩の10倍超に増え、公開されたスキャン用ツールを使ったとみられるリクエストも観測されました。更新を次の定期メンテナンスまで待つ状況ではありません。
まずWordPressのバージョンを確認する
管理画面を使える場合は、次の手順で確認できます。
- WordPressの管理画面にログインします。
- 「ダッシュボード」→「概要」を開き、表示されているWordPressのバージョンを確認します。
- 更新が必要な場合は、続けて「ダッシュボード」→「更新」を開きます。
WP-CLIを利用できる環境ならwp core versionでもバージョンを確認できます。
WordPress 7.1.1以前を使っている場合でも必ずしも7.1.2へのバージョンアップが必要とは限りません。今回の修正は対象となる旧バージョン系列にも提供されています。管理画面に表示される、その系列の修正版を確認してください。長期的には、WordPressが積極的にサポートする最新版を利用することが推奨されています。
バックポートアップデートは下記のとおりです。
| Affected versions | Patched versions |
|---|---|
| 7.1.0 – 7.1.1 | 7.1.2 |
| 7.0.0 – 7.0.5 | 7.0.6 |
| 6.9.0 – 6.9.8 | 6.9.9 |
| 6.8.0 – 6.8.9 | 6.8.10 |
| 6.7.0 – 6.7.8 | 6.7.9 |
| 6.6.0 – 6.6.8 | 6.6.9 |
| 6.5.0 – 6.5.11 | 6.5.12 |
| 6.4.0 – 6.4.11 | 6.4.12 |
| 6.3.0 – 6.3.11 | 6.3.12 |
| 6.2.0 – 6.2.12 | 6.2.13 |
| 6.1.0 – 6.1.13 | 6.1.14 |
| 6.0.0 – 6.0.15 | 6.0.16 |
| 5.9.0 – 5.9.17 | 5.9.18 |
| 5.8.0 – 5.8.16 | 5.8.17 |
| 5.7.0 – 5.7.18 | 5.7.19 |
| 5.6.0 – 5.6.20 | 5.6.21 |
| 5.5.0 – 5.5.21 | 5.5.22 |
| 5.4.0 – 5.4.22 | 5.4.23 |
| 5.3.0 – 5.3.24 | 5.3.25 |
| 5.2.0 – 5.2.27 | 5.2.28 |
| 5.1.0 – 5.1.25 | 5.1.26 |
| 5.0.0 – 5.0.28 | 5.0.29 |
| 4.9.0 – 4.9.32 | 4.9.33 |
| 4.8.0 – 4.8.31 | 4.8.32 |
| 4.7.0 – 4.7.36 | 4.7.37 |
修正版への更新方法
- 管理画面の「ダッシュボード」→「更新」を開きます。
- WordPress本体の更新が表示されていれば、表示内容を確認して「今すぐ更新」をクリックします。
- 更新後にバージョンをもう一度確認します。
自動バックグラウンド更新を有効にしているサイトではすでに修正版が適用されている可能性もあります。設定だけで判断せず、実際のバージョン表示を確認してください。WordPress 7.1.2を手動で入手する場合はWordPress.orgのダウンロードページを利用できます。
自動更新を無効にしたつもりでもWordPress本体が更新される理由は更新の種類と設定の違いを解説した記事で確認できます。


更新後に確認しておきたいこと
更新はこれからの攻撃を防ぐための対応です。更新前に攻撃を受けた可能性が気になる場合は、サーバー上のファイルやアクセスログも確認してください。
- サーバーの
/tmpや/var/tmpに見覚えのないPHPファイルがないか。Patchstackはwp-pear-rce-flag.phpやpoc87902.phpなどのファイル名を観測しています。 - アクセスログに
pagenameパラメータと%2e%2e、%252e%252eなどを含む不審なリクエストがないか。 pearcmd、config-show、config-createを含むリクエストがないか。
これらの文字列がログにあるだけで侵害が成功したとは断定できません。攻撃者が攻撃した履歴が残っているだけで、WordPress側の処理ではじかれているかもしれません。攻撃によって書き込まれたとみられるPHPファイルが見つかった場合は、サーバーが侵害された可能性を前提に調査が必要です。ファイルの確認範囲やログの取得方法は、レンタルサーバーの機能によって異なります。
不審なファイルが見つかった場合やサイト全体の状態を調べたい場合はユーザー・プラグイン・ファイル・ログを順に確認する手順も参照してください。


迷いやすいポイント
まとめ
- WordPress 7.1.2は未ログインの第三者でも悪用できるCVE-2026-87902を修正するセキュリティリリースだよ。
- 9月17日の7.1.1で直したClick2Shellとは別の脆弱性だよ。7.1.1に更新済みでも今回の修正版を適用してね。
- 9月23日時点ですでに悪用が始まっていてのんびりしている余裕はあまりないよ。
- 更新前にバージョンを確認して更新後は
/tmpや/var/tmpの不審なファイルも一応チェックしてね。
WordPressの更新やセキュリティに関する記事はまとめページからも探せます。






