
إثبات مفهوم يوضح ثغرة XSS مخزنة في حقل السيرة الذاتية للملف الشخصي في FreelanceHub، مع خطوات إعادة الإنتاج خطوة بخطوة وتحليل الأثر.
معرف CVE: CVE-2025-55854
نوع الثغرة: البرمجة النصية عبر المواقع المخزنة (Stored XSS)
درجة الخطورة: عالية
المكوّن المتأثر: حقل السيرة الذاتية في ملف المستخدم
التطبيق المتأثر: FreelanceHub (https://github.com/nooncarlett/FreelanceHub)
تم اكتشاف ثغرة برمجة نصية عبر المواقع المخزنة (XSS) في وظيفة ملف المستخدم بتطبيق FreelanceHub. توجد الثغرة بسبب عدم كفاية تنقية المدخلات في حقل السيرة الذاتية (Bio)، مما يسمح للمهاجمين بحقن كود JavaScript خبيث يتم تنفيذه عندما يشاهد مستخدمون آخرون صفحة الملف المتأثرة.
تمكّن هذه الثغرة المهاجم من:
يفشل التطبيق في تنقية مدخلات المستخدم بشكل صحيح في حقل السيرة الذاتية قبل تخزينها في قاعدة البيانات وعرضها على صفحة الملف. يتم عرض HTML مباشرة دون ترميز الأحرف الخاصة أو إزالة الوسوم ومعالجات الأحداث الخطرة.
http://localhost:8080/auth
http://localhost:8080/profilehttp://localhost:8080/profileيجب على التطبيق تنقية الإدخال وإما:
<, >, ", '، إلخ)يتم تخزين حمولة HTML/JavaScript الخبيثة في قاعدة البيانات وتنفيذها عند عرض صفحة الملف الشخصي، دون أي تنقية أو ترميز.
درجة CVSS v3.1: 8.1 (عالية)
سلسلة المتجه: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N