CVSS 7.2 HIGH 未ログインで悪用可能
| 対象 | プラグイン W3 Total Cache 有効インストール約 900,000 件 |
|---|---|
| 影響バージョン | 2.10.7 以下 |
| 修正版 | 2.11.0 |
| CVE | CVE-2026-111254 |
| 種類 | XSS(Improper Neutralization of Input During Web Page Generation) |
| 悪用される確率(EPSS) | 0.31%(全脆弱性の上位 76%) |
| 公表 | 2026年10月31日 当サイト掲載: 2026年11月2日 12:21 |
何が起きるか
W3 Total Cache 2.10.7以前では、コメント欄から悪意あるスクリプトが保存され、閲覧者のブラウザで実行される恐れがあります。特定のキャッシュ設定が残っている場合に限り、未ログインの第三者でも悪用できます。
想定される被害と条件
- ページを開いた閲覧者のブラウザで不正なスクリプトが実行され、偽サイトへの誘導や不正な表示が行われる恐れ
- 管理者がページを開いた場合、ログイン状態を悪用されサイト設定変更や不正ユーザー追加につながる恐れ
- 条件:以前にProライセンスを有効にしてRESTキャッシュを使っており、現在ライセンスが失効している状態
- 条件:ページキャッシュの方式が「Disk: Enhanced」のまま設定されていること
- 条件:攻撃者が過去にコメントを承認された実績のあるコメント投稿者として振る舞えること
今日やること
W3 Total Cacheを2.11.0以上に更新し、更新できない場合はプラグインの停止を検討してください。
すぐに更新できない場合
W3 Total Cacheの設定でRESTキャッシュとページキャッシュ(Disk: Enhanced)を無効化するか、コメント受付を一時停止してください。あわせてWAFの導入やキャッシュの全削除も有効です。
更新後に確認すること
- 管理画面「コメント」で、承認済み・保留中コメントに不審なスクリプトや見慣れないリンクが含まれていないか確認する
- 管理画面「ユーザー」で、身に覚えのない管理者アカウントが追加されていないか確認する
- W3 Total Cacheの「Performance」メニューから全キャッシュを削除し、サイト表示に不審なポップアップや転送が無いか確認する
- 「設定」やプラグイン・テーマに覚えのない変更がないか確認する
不審な投稿・ユーザー・ファイルが見つかった場合は、専門家への相談をおすすめします。
W3 Total Cache の現在の情報 (WordPress.org、2026-11-02 取得)
| 最新版 | 2.11.0 修正版を含む |
|---|---|
| 対応 WordPress | 6.0 以上(検証済み 7.1.4) |
| 最終更新 | 2026-10-20 8:46pm GMT |
| 有効インストール | 900,000+ |
| リンク | WordPress.org のページ 公式サイト |
技術的な詳細(修正差分の解析)
修正前後のコード(2.10.7 → 2.11.0)を WordPress.org から取得して差分を解析しました。特定の確度: 中。攻撃に使える手順は記載していません。
原因となった処理
- Generic_Plugin::should_ob_process_rest() は、設定値 pgcache.rest が 'cache' かどうかだけを見ていました。Pro ライセンスが現在有効かは確認していませんでした。
- そのため、ライセンスが失効した後も保存済みの 'cache' 設定が残っていれば、REST API 応答に対する出力バッファ処理(ページキャッシュへの書き込み)が動き続けていました。
- Pro 失効後は、REST 応答をキャッシュするときの安全処理(JSON として正しく扱うための Content-Type やファイル種別の扱い)が働かない可能性があります。この状態で、REST 応答が Disk Enhanced(ディスク上の静的ファイル)キャッシュとして保存されていたと推定されます。
- 既承認コメント投稿者の 'comment' 入力は、自動承認されて REST 応答の本文に入ります。この入力がサニタイズやエスケープされないまま静的キャッシュファイルに書き込まれます。Web サーバーがそのファイルを HTML として直接配信するため、閲覧者のブラウザでスクリプトが実行され得る構造でした(Stored XSS)。
- 根本原因は、ライセンス状態と機能設定の不整合(無効化されたはずの Pro 機能が設定値だけで有効扱いになること)と、キャッシュ出力時のエスケープ不足の組み合わせです。
被害が起きる前提条件
- 過去に Pro ライセンスが有効な状態で、REST API キャッシュ(pgcache.rest = cache)を有効にしていたこと。その後ライセンスが失効または無効化され、設定値だけが残っていること。
- ページキャッシュの方式が Disk Enhanced(file_generic)のまま有効になっていること。
- コメント機能と REST API が公開されていること。攻撃者がすでに承認済みのコメント投稿者の名前とメールアドレスを使え、投稿が自動承認されること。ログインは不要です。
修正版での変更
- Generic_Plugin::should_ob_process_rest() の判定を Util_Environment::is_rest_cache_active() に変更しました。設定値に加えて Pro ライセンスが有効かも確認し、条件を満たす場合にだけ REST 応答をキャッシュ処理するようにしました。
- Generic_Plugin::run() に処理を追加しました。pgcache.rest が 'cache' なのに Pro ではない場合、Licensing_Plugin_Admin::release_pro_rest_cache_if_unlicensed() を呼び、無ライセンス状態で残った REST キャッシュ設定を解除します。
- 運営者側の対応: 2.11.0 以上へ更新してください。更新後は、ページキャッシュ(特に Disk Enhanced のキャッシュディレクトリ)を全削除し、REST API 設定が「キャッシュしない」になっているか確認してください。あわせて、承認済みコメントに不審な内容がないか点検することを推奨します。
主な修正ファイル: Generic_Plugin.php, Util_Environment.php, Licensing_Plugin_Admin.php, inc/options/pgcache.php
原文(Wordfence Intelligence)
The W3 Total Cache plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the ‘comment’ parameter in all versions up to, and including, 2.10.7 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. Exploitation requires that a Pro license was previously active with REST caching enabled and has since become inactive while Disk Enhanced page caching remains configured, and that the attacker holds a previously approved commenter identity.
参考リンク
脆弱性情報の出典と著作権
脆弱性情報の出典: Wordfence Intelligence のレコード。Copyright 2012-2026 Defiant Inc. License: Defiant hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute this software vulnerability information. Any copy of the software vulnerability information you make for such purposes is authorized provided that you include a hyperlink to this vulnerability record and reproduce Defiant's copyright designation and this license in any such copy. Read more.
CVE: Copyright 1999-2026 The MITRE Corporation. CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Terms of Use.
本ページの作成について: 上記の出典データをもとに、「何が起きるか」「今日やること」「更新後に確認すること」などの日本語解説は生成 AI が作成し、サイトの主治医が随時確認しています。誤りに気づかれた場合はお問い合わせください。
「W3 Total Cache」の他の脆弱性
最近公表された深刻度の高い脆弱性
- WordPressプラグイン「s2Member」にリモートコード実行の脆弱性(CVE-2026-86596) 2026/11/02
- WordPressプラグイン「Ultra Addons for Contact Form 7」に任意ファイル削除の脆弱性(CVE-2026-102435) 2026/11/02
- WordPressプラグイン「NextGEN Gallery」にリモートコード実行の脆弱性(CVE-2026-76010) 2026/10/31
- WordPressプラグイン「Debug Log Manager」にXSSの脆弱性(CVE-2026-120114) 2026/10/31
- WordPressプラグイン「WP Directory Kit」にSQLインジェクションの脆弱性(CVE-2026-109197) 2026/10/31

