W3 Total Cache に XSS 脆弱性、2.10.7 で修正

清水 風音

PatchOn創業者兼CEO

W3 Total Cache に XSS 脆弱性、2.10.7 で修正

WordPress の高速化プラグイン W3 Total Cache の脆弱性(CVE-2026-87920)が、Wordfence から 10/2 に公開されました。ログインなしでコメント欄から、公開ページに JavaScript を仕込めるものです。有効インストール 90 万のプラグインですが、成立するのは Browser Cache の「静的リソースからクエリ文字列を削除する」をオンにしているサイトだけです。修正版の 2.10.7 は公開の数時間前、日本時間で 10/2 の深夜に出ています。

2.10.7 が届いているサイトでは何も起きていない一方、2.10.6 以下のままでこの設定をオンにしているサイトは、10/2 から攻撃対象になっています。

https://www.wordfence.com/threat-intel/vulnerabilities/id/34bd7c32-f4c5-4015-909a-e4730f35494b

Wordfence の advisory と W3 Total Cache の changelog をもとに、やることだけ整理しました。

取るべき対応

  • プラグイン一覧で W3 Total Cache のバージョンを見る
    • 2.10.7 なら対応済みで、10/2 に出た現行版です
  • 2.10.6 以下なら 2.10.7 に上げる
    • W3 Total Cache は 8 月にも、ログインなしでサーバー上のファイルを書き込める脆弱性が公開されています(8/20 の記事)。2.10.7 に上げるとそちらも塞がります
  • すぐ上げられないなら、Browser Cache の「静的リソースからクエリ文字列を削除する」をオフにする
    • Performance → Browser Cache の設定ページに、同じ名前の項目が 3 か所あります

対象者

対象は 2.10.6 以下を入れていて、Browser Cache の「静的リソースからクエリ文字列を削除する」をオンにしているサイトです。見るのは「2.10.7 より前か」と「この設定がオンか」の 2 つ。Wordfence はこの設定がオンのときだけ成立すると明記しています。オフなら外れますが、設定した覚えが無いだけでは外れたことにならないので、管理画面で見てから判断します。攻撃者側に要るのはコメントを送れることだけで、コメントを承認制にしているかどうかは advisory の条件に挙がっていません。

起こったこと

ログインしていない攻撃者が公開ページにコメントを 1 件書き込むと、その中に仕込んだ JavaScript が、そのページを開いた人のブラウザで動きます。動く相手はコメントを読みに来た訪問者に限らず、同じページを開いた管理者も含まれます。CVSS は 7.2 で、区分は High です。

原因

原因は Wordfence の advisory に書かれています。W3 Total Cache は、クエリ文字列を削除する設定がオンだと、出力する HTML の中の静的ファイルの URL を正規表現で探し、「?」から後ろを取り除きます。この処理はコメント本文にも掛かります。取り除く範囲が「?」から属性を閉じる引用符までになるため、属性の境界が壊れ、コメントに書かれた文字列がタグとして残る、というのが説明です。2.10.7 の changelog にも、クエリ文字列を削除するときの引用符なしの URL の書き換えを制限した、とあります。

お使いの WordPress は何年式ですか

URL を入れるだけで、いつから更新が止まっているか(年式)を外から診断できます。

  • 登録不要
  • インストール不要
  • 結果はその場で表示

関連記事

株式会社ロケッタ

東京都渋谷区渋谷3-1-9 渋谷YAZAWAビル3FTEL: 050-6867-9025

© Rocketa Inc. 2026. All Rights Reserved.