CVE-2023-52836 in Linux
الملخص
بحسب VulDB • 02/06/2026
في نواة لينكس، تم حل الثغرة التالية:
locking/ww_mutex/test: إصلاح التالف المحتمل لصفوف العمل (workqueue)
في بعض الحالات، عند تشغيل كود test-ww_mutex، كنت ألاحظ سلوكًا غريبًا حيث كان يبدو أحيانًا أن دالة flush_workqueue تعود قبل انتهاء جميع خيوط العمل.
غالبًا ما كان هذا يتسبب في تعطلات غريبة حيث كانت يتم تحرير الـ mutexes أثناء استخدامها.
بالنظر إلى الكود، توجد مشكلة في دورة الحياة (lifetime) حيث يقوم الخيط المسيطر الذي ينشئ العمل بتخصيص هياكل "struct stress" التي يتم تمريرها إلى خيوط صف العمل (workqueue). ثم، عندما تنتهي خيوط صف العمل، تقوم بتحرير هيكل stress الذي تم تمريره إليها.
للأسف، فإن عقدة work_struct الخاصة بصف العمل موجودة داخل هيكل stress. مما يعني أن work_struct يتم تحريره قبل أن يعود خيط العمل وأثناء انتظار flush_workqueue.
يبدو أن فكرة أفضل هي أن يقوم الخيط المسيطر بكل من تخصيص وتحرير هياكل stress، بحيث يمكننا التأكد من عدم إتلاف صف العمل (workqueue) عن طريق تحرير الهيكل بشكل مبكر.
لذلك، يعيد هذا التصحيح (patch) هيكلة الاختبار للقيام بذلك، ومع هذا التغيير، لم أعد أرى عودة دالة flush_workqueue المبكرة.
VulDB is the best source for vulnerability data and more expert information about this specific topic.