WordPressプラグイン「Prime Slider」にXSSの脆弱性(CVE-2026-111111)

CVSS 7.2 HIGH 未ログインで悪用可能

対象プラグイン Prime Slider (Prime Slider – Hero Slider, Carousel, WooCommerce & Post Slider Elementor Addons)
有効インストール約 100,000 件
影響バージョン4.7.2 以下
修正版4.7.3
CVECVE-2026-111111
種類XSS(Improper Neutralization of Input During Web Page Generation)
悪用される確率(EPSS)0.24%(全脆弱性の上位 85%)
公表2026年10月28日 当サイト掲載: 2026年11月2日 12:19

何が起きるか

Prime Slider 4.7.2以前では、ログインしていない第三者がコメント欄経由で不正なスクリプトをサイトに埋め込める恐れがあります。埋め込まれたページを訪問者や管理者が開くと、そのスクリプトが実行されます。

想定される被害と条件

  • ログイン不要で、コメント投稿を通じて不正なスクリプトが保存される恐れがあります
  • 該当ページを開いた訪問者が、偽サイトへ転送されたり偽の表示を見せられたりする可能性があります
  • 管理者がログインした状態で該当ページやコメントを開くと、管理者権限で不正な操作(ユーザー追加や設定変更など)をされる危険があります
  • 被害が起きる条件は、コメントを受け付けている状態で、脆弱なバージョンのプラグインが有効になっていることです

今日やること

Prime Slider(bdthemes-prime-slider-lite)を4.7.3以上に更新し、すぐ更新できない場合はプラグインの停止・削除を検討してください。

すぐに更新できない場合

更新できるまでは、サイト全体でコメントの受付を停止するか、Prime Sliderを一時的に無効化してください。WAF(Webアプリケーションファイアウォール)でXSS対策のルールを有効にすることも有効です。

更新後に確認すること

  • 管理画面の「コメント」(承認待ち・スパム・ゴミ箱も含む)を開き、不自然なHTMLや意味不明な文字列を含むコメントがないか確認し、見つかった場合は削除する
  • 「ユーザー」一覧を開き、身に覚えのない管理者アカウントが追加されていないか確認する
  • 「設定」や「プラグイン」を開き、覚えのない設定変更やプラグインの追加がないか確認する
  • 公開ページを開き、勝手に別サイトへ移動する・見慣れないポップアップが表示されるなどの異常がないか確認する

不審な投稿・ユーザー・ファイルが見つかった場合は、専門家への相談をおすすめします。

Prime Slider の現在の情報 (WordPress.org、2026-11-02 取得)

最新版5.1.2 修正版を含む
対応 WordPress6.8 以上(検証済み 7.1.4)
最終更新2026-11-01 9:19am GMT
有効インストール100,000+
リンクWordPress.org のページ 公式サイト

技術的な詳細(修正差分の解析)

修正前後のコード(4.7.2 → 4.7.3)を WordPress.org から取得して差分を解析しました。特定の確度: 高。攻撃に使える手順は記載していません。

原因となった処理

  • Prime Slider の Content_Guard クラス(includes/class-content-guard.php)は、UIkit コンポーネント属性(bdt- / data-bdt- で始まる属性)を保存前の文字列から取り除く後処理を持ち、コメント本文などの投稿データにも適用されていた。
  • WP_HTML_Tag_Processor が使えない場合や raw-text 要素内のタグに対しては、正規表現によるフォールバック strip_component_attributes_by_pattern() が使われ、タグ全体に ATTRIBUTE_PATTERN を preg_replace で一括適用していた。
  • ATTRIBUTE_PATTERN は引用符の文脈を考慮しないため、許可された属性の値の中にある 'bdt-' という文字列も属性名として誤認識し、その値を閉じている引用符まで含めて削除してしまうことがあった。
  • 閉じ引用符が消えると属性値の境界がずれる。その結果、コアの wp_filter_kses が属性値内の無害な文字列として残していた部分(イベントハンドラ相当の文字列など)が、本物の HTML 属性として解釈される状態に変わっていた。
  • この書き換えは kses によるサニタイズの後に行われ、以後の再サニタイズや出力時のエスケープもなかったため、不正な属性を含むマークアップがそのままデータベースに保存され、ページ表示時に閲覧者のブラウザでスクリプトが実行され得た(Stored XSS)。

被害が起きる前提条件

  • Prime Slider 4.7.2 以前が有効化されていること。
  • 未認証ユーザーがコメントを投稿できる設定であること(コメント受付が有効、または承認なしで表示される運用)。
  • Content_Guard の正規表現フォールバック経路が使われる状況であること(HTML API が使えない環境、または raw-text 要素内のタグ処理)。
  • 管理者を含む利用者が、該当コメントが表示されるページを閲覧すること。

修正版での変更

  • ATTRIBUTE_PATTERN 定数によるタグ全体への一括置換を廃止した。代わりに、タグ名と属性部分を分けて捕捉する新しい正規表現と rebuild_tag() でタグを再構築する方式に変更した。
  • rebuild_tag() は引用符を考慮するトークナイザで属性を左から順に読む。そのため、引用符で囲まれた値の中の文字列が属性名として扱われることはなく、引用符が削除されたりずれたりすることもない。
  • 除外対象(is_component_attribute が真)の属性だけを取り除き、それ以外の属性は読み取ったままの形で連結し直す。完全に解析できないタグは書き換えずに丸ごと破棄する(空文字を返す)安全側の設計になった。
  • 'bdt-' を含まないタグはそのまま返すため、無関係なマークアップへの副作用もなくなった。プラグインのバージョンは 4.7.3 に更新されている。

主な修正ファイル: includes/class-content-guard.php, bdthemes-prime-slider.php

このプラグイン、自分のサイトにも入っている? URL を入れるだけの無料チェック →

原文(Wordfence Intelligence)

The Prime Slider – Hero Slider, Carousel, WooCommerce & Post Slider Elementor Addons plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the ‘comment’ parameter in all versions up to, and including, 4.7.2 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. This is possible because core wp_filter_kses leaves the submitted markup inert, but the plugin’s subsequent regex fallback consumes closing quotes of allowed attribute values containing ‘bdt-‘, promoting previously inert bytes — such as event handlers like onfocus — into real HTML attributes that are then written to the database and rendered without further sanitization.

参考リンク

本ページの作成について: 上記の出典データをもとに、「何が起きるか」「今日やること」「更新後に確認すること」などの日本語解説は生成 AI が作成し、サイトの主治医が随時確認しています。誤りに気づかれた場合はお問い合わせください。

最近公表された深刻度の高い脆弱性

脆弱性一覧 →

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次