
WordPressサイトの表示速度を改善するキャッシュプラグイン「W3 Total Cache」において、セキュリティ上の問題が確認されました。影響を受けるのは、バージョン 2.10.3 までのすべてのバージョンです。
本脆弱性を悪用された場合、認証されていない第三者が投稿したコメントをきっかけに、そのコメントが表示されるページを開いた閲覧者のブラウザ上で、不正なスクリプトが実行される可能性があります。
なお、影響を受けるのは、本プラグインの「Lazy Load(画像の遅延読み込み)」機能を有効にしている場合に限られます。
対策として、バージョン 2.10.4 以降への更新を推奨します。
脆弱性詳細
本脆弱性は、本プラグインが提供する画像の遅延読み込み機能に存在します。
この機能は公開ページの表示時にのみ働き、ページ内のすべての画像を処理の対象とします。コメント欄に表示される画像も例外ではなく、その画像タグにはコメント投稿者名が使われています。
そのため、投稿者名として第三者が入力した文字列が、この機能の処理を経てページのHTMLに影響を及ぼす状態となっていました。管理画面ではこの機能が動作しないため、影響を受けるのは公開ページを閲覧した方に限られます。
想定される被害
この脆弱性が悪用された場合、以下のような被害が想定されます。
不正なスクリプトの実行(蓄積型XSS)
- 攻撃者が投稿者名として保存させた文字列がページ表示時にスクリプトとして解釈され、そのページを開いた閲覧者のブラウザ上で実行される
- 実行はページを開いた本人のブラウザ内で起こるため、管理者がログインした状態で該当ページを開いた場合も対象となる
被害発生の条件
以下の条件が重なった場合に、被害が発生する可能性があります。
- 「Lazy Load(画像の遅延読み込み)」機能が有効になっている
- 攻撃者が、細工した投稿者名でコメントを投稿する
- そのコメントが表示されるページを、閲覧者または管理者が開く
※ページを開いた時点で実行される可能性があり、リンクのクリックなどの操作は必要ありません。
技術的な詳細
遅延読み込み機能は、画像タグの中から画像の読み込み先を指定する属性を探し出し、いったん仮の画像に差し替えたうえで、本来の読み込み先を別の属性へ退避させます。
このとき、属性を探す処理には、見つけた箇所がタグの中でどの位置にあるかを判定する仕組みがありませんでした。そのため、別の属性の値(たとえば画像の代替テキスト)の中に「属性名と等号」の並びが含まれていると、それも本物の属性とみなして書き換えてしまいます。
書き換えの際には引用符を含む文字列が挿入されるため、その位置で属性値が終了したものとブラウザに解釈され、以降に続く文字列がタグの一部として読み込まれる状態となっていました。
コメント投稿者名は、保存・表示の際に無害化処理(エスケープ処理)が行われます。ただし、この処理が変換の対象とするのは引用符や不等号などの記号であり、今回の起点となる並びはこれらの記号を含みません。そのため変換されずにそのまま残り、通常の無害化処理だけでは防ぐことができませんでした。
対策版では、引用符で正しく囲まれた属性だけを書き換えの対象とし、さらにその位置が他の属性の値の内側でないことを確認したうえで処理するよう修正されています。あわせて、差し替え用の仮画像を表す文字列からも引用符が取り除かれ、書き換えによって引用符が新たに混入しないよう改められています。
脆弱性の種類
推奨対応事項
該当バージョンのプラグインをご利用の場合、以下の対応を強く推奨します。
- プラグインの更新
- 速やかに、プラグインを対策バージョン(2.10.4 以降)へ更新してください。
- 被害確認
- WordPress管理画面の「コメント」を開き、検索欄に「src=」と入力して検索してください。
投稿者名にこの文字列を含むコメントが見つかった場合は、攻撃を試みられた可能性があります。「onload」「onerror」でも同様に検索してください。 - この確認は、更新前に行っても差し支えありません。
今回の書き換え処理は管理画面では実行されないため、コメント一覧を表示することでスクリプトが動作することはありません。 - 該当するコメントが見つかった場合は削除してください。
なお、更新を適用するまでは、そのコメントが表示される公開ページを開かないようご注意ください。
- WordPress管理画面の「コメント」を開き、検索欄に「src=」と入力して検索してください。
- 更新までの間の一時的な回避策
- すぐに更新できない場合は、WordPress管理画面の「Performance」→「General Settings」を開き、「User Experience」セクションの「Lazy Load Images」のチェックを外して保存してください。
この設定が無効であれば、原因となる書き換え処理そのものが行われません。
- すぐに更新できない場合は、WordPress管理画面の「Performance」→「General Settings」を開き、「User Experience」セクションの「Lazy Load Images」のチェックを外して保存してください。
- 追加のセキュリティ対策
- WAF(Web Application Firewall:不正な通信を検知・遮断する仕組み)を導入していれば、XSSを狙うリクエストの遮断に有効です。
ただし、WAFですべての攻撃を確実に防げるわけではないため、根本的な対策となるプラグインの更新を優先してください。
- WAF(Web Application Firewall:不正な通信を検知・遮断する仕組み)を導入していれば、XSSを狙うリクエストの遮断に有効です。
⇒不審なコメントが見つかった場合や、対応にご不安がある場合は、WordPressの専門家などへの相談を推奨します。
影響を受けるバージョン
W3 Total Cache 2.10.3 までのバージョン
脆弱性情報 (CVE-ID)
CVE-2026-18109
(公開日 2026年8月14日 更新日 2026年8月14日)
脆弱性の深刻度 (CVSS v3)
基本値: 7.2 (重大) [Wordfence]
脆弱性脅威度(EPSS)
CVE-2026-18109 悪用確率 0.27% (上位81%) 2026年8月16日時点
ソフトウェア脆弱性情報の著作権に関する注意事項
This record contains material that is subject to copyright.
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.
Copyright 1999-2026 The MITRE Corporation
License: 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®). Any copy you make for such purposes is authorized provided that you reproduce MITRE’s copyright designation and this license in any such copy. Read more.
「WordPressセキュリティ保守」をご利用のお客様へ

WordPress
W3 Total Cache プラグインをご利用中のお客様には、対策バージョンへの更新状況および推奨対応事項について、順次メールにてご案内しております。



