PT-2026-31946
CVE-2026-35595
·
تاريخ النشر
2026-04-10
·
تاريخ التحديث
2026-08-28
الوصف من
CVSS 3.1
8.3
عاليةالمقاييسAV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L
اسم البرنامج المعرض للخطر والإصدارات المتأثرة
إصدارات Vikunja السابقة للإصدار 2.3.0
الوصف
توجد مشكلة في Vikunja تتعلق بتصعيد الصلاحيات، تتيح للمستخدم الذي يتمتع بحق «الكتابة» (Write) في أحد المشاريع تصعيد صلاحياته إلى مستوى «المسؤول» (Admin) عن طريق نقل المشروع إلى مشروع آخر يملكه. ويرجع ذلك إلى خلل في فحص
CanUpdate في pkg/models/project permissions.go:139-148، الذي يتحقق فقط من CanWrite في المشروع الأب الجديد عند تغيير parent project id. يستخدم نموذج الأذونات في Vikunja تعبيرًا CTE متكررًا لحساب الأذونات، ويؤدي تغيير المشروع الأب إلى تغيير سلسلة وراثة الأذونات. عندما يقوم مستخدم يتمتع بحق «الكتابة» الموروث بإعادة ربط مشروع تحت شجرة مشاريعه الخاصة، فإن تعبير CTE يحدد بشكل خاطئ ملكيته للمشروع الأب الجديد على أنه «المسؤول» في المشروع الذي تم نقله. وهذا يسمح للمهاجم بحذف المشروع وإدارة المشاركات وإزالة حقوق الوصول الخاصة بالمستخدمين الآخرين. يثبت نموذج إثبات المفهوم أن المهاجم يمكنه رفع صلاحياته من «الكتابة» الموروث إلى «المسؤول» عن طريق إعادة ربط المشروع، ثم حذف مشروع الضحية. ويؤثر هذا على أي مشروع تمت مشاركة حق «الكتابة» فيه مع المتعاونين.التوصيات
اشترط إذن «المسؤول» بدلاً من إذن «الكتابة» عند تغيير
parent project id في فحص CanUpdate في pkg/models/project permissions.go:139-148. وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾