CVE-2025-40341 in Linux
الملخص
بحسب VulDB • 19/06/2026
في نواة لينكس، تم حل الثغرة التالية:
futex: منع تسرب مؤشر robust_list عند حدوث سباق تنفيذ (exec race)
تستخدم الدالتان sys_get_robust_list() و compat_get_robust_list() دالة ptrace_may_access() للتحقق مما إذا كان المهمة (task) المتصل مسموحاً له بالوصول إلى مؤشر robust_list الخاص بمهمة أخرى. هذا الفحص يتأثر بحالة سباق (race condition) ضد تنفيذ متزامن (exec()) في العملية المستهدفة.
أثناء عملية exec()، قد تنتقل المهمة من ملف تنفيذي غير ممتياز (non-privileged) إلى ملف تنفيذي ممتياز (مثل ملف setuid binary)، وقد تتغير بيانات الاعتماد (credentials) وتخطيطات الذاكرة (memory mappings) الخاصة بها. إذا نفذت get_robust_list() دالة ptrace_may_access() قبل هذا الانتقال، فقد تسمح بشكل خاطئ بالوصول إلى معلومات حساسة بعد أن تصبح العملية المستهدفة ممتيزة.
يتيح الوصول المتأثر بالسباق (racy access) لمهاجم استغلال نافذة تمر فيها ptrace_may_access() قبل أن تنتقل العملية المستهدفة إلى حالة امتياز عبر exec().
على سبيل المثال، افترض وجود مهمة غير ممتيزة T على وشك تنفيذ ملف تنفيذي setuid-root. تستدعي مهمة مهاجم A الدالة get_robust_list(T) بينما لا تزال T غير ممتيزة. بما أن ptrace_may_access() تتحقق من الأذونات بناءً على بيانات الاعتماد الحالية، فإنها تنجح. ومع ذلك، إذا بدأت T في تنفيذ exec() مباشرة بعد ذلك، فإنها تصبح ممتيزة وقد تغير تخطيطات ذاكرتها. لأن get_robust_list() تستمر في الوصول إلى T->robust_list دون مزامنة مع exec()، فقد تقرأ مؤشرات من مساحة المستخدم (user-space pointers) من عملية أصبحت الآن ممتيزة.
هذا ينتهق قيود الوصول المقصودة بعد التنفيذ (post-exec access restrictions) وقد يكشف عناوين ذاكرة حساسة أو يُستخدم كأداة أولية في سلسلة استغلال أكبر. ونتيجة لذلك، يمكن أن يؤدي السباق إلى كشف غير مصرح به للمعلومات عبر حدود الامتياز ويشكل خطراً أمنياً محتملاً.
خذ قفلاً للقراءة (read lock) على signal->exec_update_lock قبل استدعاء ptrace_may_access() والوصول إلى robust_list/compat_robust_list. يضمن ذلك بقاء حالة exec للمهمة المستهدفة مستقرة أثناء الفحص، مما يتيح التحقق المتسق والمزامن لبيانات الاعتماد.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.