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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-61183 | Kitploit
أدوات/GitHubGitHub/thawphone/cve-2025-61183
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقالتعلم والتعليم
GitHubthawphone/cve-2025-61183

CVE-2025-61183

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

الأكثر شعبية

عرض الكل →

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

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

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

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

[CVE-2025-61183] XSS مخزّن في رفع الصورة الرمزية للمستخدم عبر معالجة SVG غير آمنة

نظرة عامة

تم تحديد ثغرة من نوع البرمجة النصية عبر المواقع المخزّنة (Stored XSS) في vaahcms، وتحديدًا داخل التفاعل بين منطق رفع الملفات في MediaController.php وطريقة storeAvatar() في UserBase.php، مما يسمح لمستخدم مسجّل بمستوى منخفض برفع ملف SVG خبيث يحتوي على JavaScript مضمّنة. تنبع الثغرة من تخزين الملف قبل التحقق من المحتوى أو نوع MIME، مما يترك الملفات الخبيثة في مسار متوقّع ويمكن الوصول إليه علنًا على الخادم. تنبع الثغرة من طريقة upload() في MediaController.php

`$path = $request->file($input_file_name) ->storeAs($request->folder_path, $upload_file_name); مما يسمح للمهاجم بتحديد مسار الدليل، وتمكينه من وضع ملفات خبيثة (مثل SVG محمّل بـ XSS) مباشرة في الدليل public/، مما يجعل الحمولة متاحة فورًا عبر متصفح الويب.

التأثير

الاستغلال الناجح يسمح للمهاجم بالتحكم في محتوى واسم ملف يتم كتابته في مسار تخزين عام (/storage/media/YYYY/MM/<controlled-filename>.svg). إذا تم عرض ملف SVG العام هذا لاحقًا بواسطة متصفح المستخدم عبر `` أو <object> أو رابط مخصّص، فسيتم تنفيذ البرنامج النصي المضمّن، مما يؤدي إلى XSS دائم.

المنتج والإصدارات المتأثرة

  • المنتج: VaahCMS
  • الإصدارات المتأثرة: 2.3.1

نقطة النهاية المتأثرة

POST /backend/vaah/manage/media/upload

الثغرات الحرجة

  1. مشكلة سباق/توقيت: يتم حفظ الملف فعليًا على القرص قبل إجراء أي تحقق من المحتوى أو فحص نوع MIME.
  2. مسار متوقّع: يتم حفظ الملفات الخبيثة تحت مسار عام متوقّع: /storage/media/YYYY/MM/<controlled-filename>.svg.
  3. لا تنظيف: تبقى الملفات حتى إذا أرجعت الواجهة الخلفية خطأً (مثل: {"success": false, "errors": ["Unable to decode input"]}).

خطوات الاستغلال (إثبات المفهوم)

  1. يقوم المهاجم بإنشاء ملف SVG مخصّص (انظر POC.svg).
  2. يرسل المهاجم طلبًا إلى نقطة النهاية المتأثرة، متحكمًا في اسم الملف (مثل: xss.svg).
  3. على الرغم من استجابة الواجهة الخلفية الفاشلة، يتم حفظ الملف على القرص، على سبيل المثال، في /storage/media/2025/08/xss.svg.
  4. يقوم المهاجم بتسليم رابط أو تضمين المسار (مثلًا في مشاركة منتدى أو بريد إلكتروني) إلى الضحية، مما يؤدي إلى تشغيل الحمولة. POC

التخفيف / استجابة البائع

  • البائع: VaahCMS
  • الحالة: تم الإقرار، الإصلاح قيد الانتظار
  • تخفيف مؤقت:
    • تعطيل رفع ملفات SVG تمامًا في التطبيق
    • تنفيذ التحقق من نوع الملف على الخادم باستخدام فحص نوع MIME قبل تخزين الملفات
    • استخدام مكتبة مخصّصة لتعقيم SVG (مثل: enshrined/svg-sanitize للـ PHP)
    • تخزين الملفات المرفوعة خارج جذر الويب وتقديمها عبر وكيل آمن
    • تنفيذ تنظيف تلقائي للملفات التي تفشل في التحقق

🔗 المراجع

  • https://github.com/webreinvent/vaahcms/issues/301

الباحث: Thaw Phone Nyo

تاريخ الإفصاح: 2025/10/8

تنزيل الأداة