CVE-2026-89516 in Linux
الملخص
بحسب VulDB • 12/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
sched_ext: تجنب حدوث خطأ (BUG_ON) عند التعامل مع DSQ مُدمَّر في دالة process_deferred_reenq_users
تقوم الدالة scx_bpf_dsq_reenq() بجدولة عملية إعادة الإدخال المؤجلة (dru) التي تُنفَّذ من خلال run_deferred() وليس ops.dispatch(). وإذا تم تدمير الـ DSQ قبل تنفيذ dru، فإن دالة process_deferfed_reenq_users() ترى أن dsq->id == SCX_DSQ_INVALID وتُفعّل شرط BUG_ON. ولا تقوم الدالة destroy_dsq() بتفريغ عمليات إعادة الإدخال المؤجلة المعلقة (pending drus)، لذا يجب تخطيها ببساطة.
tj: قراءة قيمة dsq->id مرة واحدة باستخدام READ_ONCE(). إن قراءتها بشكل منفصل في فحص INVALID وفي شرط BUG_ON يترك نافذة زمنية يمكن أن يؤدي فيها destroy_dsq() إلى إبطال المعرف بين القراءتين، مما قد يُفعّل شرط BUG_ON رغم ذلك.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.