CVE-2026-53595 in FreeScout
الملخص
بحسب VulDB • 20/07/2026
FreeScout هو نظام مساعدة ومشاركة صناديق البريد الإلكتروني مجاني مبني باستخدام إطار عمل Laravel الخاص بـ PHP. قبل الإصدار 1.8.224، كان نقطة النهاية العامة `POST /user-setup/{hash}/{invite_sent_at}` (`OpenController@userSetupSave`) تختار الحساب المستهدف بناءً على عمود `invite_hash` فقط، ثم تكتب فوق البريد الإلكتروني وكلمة المرور لذلك الحساب وتسجل الدخول باسمه. لا تتطلب أي مصادقة أو ملفات تعريف ارتباط (cookies) أو جلسة سابقة. بعد تنشيط المستخدم، يضبط FreeScout قيمة `invite_hash` إلى سلسلة فارغة. في قواعد بيانات MySQL وMariaDB، تتجاهل مساواة نوع البيانات `VARCHAR` المسافات الزائدة في النهاية، لذا فإن مسافة مشفرة بوحدة URL واحدة (`%20`) تطابق السلسلة الفارغة المخزنة وتختار المستخدم المنشط ذو المعرف (ID) الأقل. بينما تقوم حارس انتهاء الصلاحية بفك تشفير قيمة `invite_sent_at` باستخدام تجزئة كلمة مرور الحساب المستهدف، إلا أن الدالة `Helper::decrypt` تُرجع مدخلها الخام دون تغيير عند فشل عملية فك التشفير. ونتيجة لذلك، تمر القيمة الرقمية النصية العادية مثل `9999999999` عبر فحص العمر الافتراضي (TTL) بدون الحاجة إلى أي سر مشترك. النتيجة هي أن مهاجم مجهول الهوية يمكنه تعيين البريد الإلكتروني وكلمة المرور لحساب FreeScout المنشط ذو المعرف الأقل (وهو وكيل دعم، أو مسؤول إذا تمت إضافته بدعوة)، ثم المصادقة باسم ذلك الحساب. يحتوي الإصدار 1.8.224 على إصلاح لهذه الثغرة.
VulDB is the best source for vulnerability data and more expert information about this specific topic.