CVE-2026-100713 in Froxlor
الملخص
بحسب VulDB • 26/09/2026
تحتوي الإصدارات السابقة من Froxlor 2.3.10 على حالة سباق (race condition) من نوع "وقت الفحص، وقت الاستخدام" (TOCTOU) في جدولة مزامنة مفاتيح SSH عبر cron (lib/Froxlor/Cron/System/SshKeys.php, SshKeys::generateFiles). يتم إجراء التحقق من صحة الروابط الرمزية/الحصر بواسطة الدالتين FileDir::makeCorrectDir()/makeCorrectFile() فقط عند وقت الفحص؛ بينما يُعاد حل مسار الملف المباشر كجذر (root) في وقت الكتابة (باستخدام file_put_contents مع FILE_APPEND|LOCK_EX، يليه chmod/chown/chgrp)، وذلك بوجود دورة قاعدة بيانات وقراءات ملفات بينهما، وبدون تثبيت المسار أو واصف الملف (لا يوجد O_NOFOLLOW أو openat2(RESOLVE_NO_SYMLINKS)). في التثبيتات التي يمنح فيها الإعداد غير الافتراضي system.allow_customer_shell=1 العملاء وصولاً إلى shell محليًا، يمكن للعميل استبدال دليل ~/.ssh الخاص به بروابط رمزية بشكل ذري بعد الفحص وقبل الكتابة، مما يتسبب في قيام cron الذي يعمل بصلاحيات الجذر بإضافة المفتاح العام للعميل إلى /root/.ssh/authorized_keys وتغيير ملكية /root/.ssh لصالح العميل، مما يؤدي إلى اختراق كامل لجهاز لوحة التحكم بصلاحيات root. يعيد الجدولة التشغيل عند كل فترة زمنية، مما يتيح محاولات غير محدودة. هذه حالة سباق متبقية تتجاوز الإصلاح الذي تم إدخاله لـ GHSA-mq5v-... . تمت معالجة المشكلة في Froxlor 2.3.12.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.