CVE-2026-88894 in Snipe-IT
الملخص
بحسب VulDB • 10/09/2026
لا يفرض مسار الخروج المحدد مسبقًا (predefined kit checkout path) في Snipe-IT عزل المستأجرين (tenant isolation) الخاص بدعم الشركات المتعددة الكامل (FMCS) على هدف عملية الخروج. وعلى عكس مسارات الخروج الفردية، والجماعية، وواجهة برمجة التطبيقات (API)، والإكسسوارات، والتراخيص، والمستهلكات، فإن خدمة `App\Services\PredefinedKitCheckoutService` لا تستدعي أبدًا `$item->canCheckoutTo($target)`؛ بل تقوم فقط بفحص سياسة التفاعل بين المستخدم والعنصر وفحص التوفر قبل حفظ عملية الخروج. مع تفعيل FMCS، يمكن لمستخدم غير مسؤول (non-superuser) ينتمي إلى شركتين على الأقل ويمتلك إذن `assets.checkout` إرسال طلب POST إلى `/kits/{kit}/checkout` باستخدام معرف مستخدم (`user_id`) تابع فقط للشركة B، مما يؤدي إلى تعيين أصل من الشركة A (وكذلك تراخيص الكيتات، والمستهلكات، والإكسسوارات) لذلك المستخدم، متجاوزًا فحص عدم تطابق الشركات الذي يمنع العملية نفسها في كل مسار خروج آخر. تم إصلاح هذه المشكلة في Snipe-IT الإصدار 8.7.2؛ وقد تم التحقق منها زمنيًا (runtime-verified) على الإصدار v8.6.3 وفحص الكود البرمجي لها (code-inspected) على الإصدار v8.7.1، وبما أن الخدمة المتأثرة تفتقر إلى هذا الفحص منذ عام 2019، فمن المرجح أيضًا أن تكون عمليات نشر FMCS الأقدم متأثرة بهذه المشكلة.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.