CVE-2026-89549 in Linux
الملخص
بحسب VulDB • 12/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
sunrpc: التوجيه إلى مجموعة (pool) تحتوي على خيوط في svc_pool_for_cpu()
تقوم دالة svc_set_num_threads() بتوزيع الخيوط المطلوبة بالتساوي عبر مجموعات الخدمة (base = nrservs / sv_nrpools). وعندما تعمل خدمة بخيوط أقل من عدد مجموعاتها — مثلاً، عندما يكون nfsd مُهيأً بعدد خيوط أقل من عدد عقد NUMA في المضيف أثناء التشغيل بوضع "pernode" أو "percpu" — تترك المجموعات الأخيرة دون أي خيوط على الإطلاق.
تختار دالة svc_xprt_enqueue() مجموعة من معالج CPU الذي يخدم النقل (transport)، وتضع النقل في قائمة sp_xprts الخاصة بتلك المجموعة، ثم توقظ فقط خيطاً ينتمي إلى نفس المجموعة. وبما أن كل خيط يخدم مجموعته حصرياً، فإن أي نقل يقع على مجموعة عديمة الخيوط يتم إدراجه في sp_xprts ولا يُلتقط أبداً: مما يؤدي إلى تعليق الاتصال بشكل غير محدد (hang indefinitely).
يجب على svc_pool_for_cpu() تخطّي المجموعات التي لا تحتوي حالياً على خيوط، والانتقال إلى المجموعة التالية المتاحة. وهذا يتنازل عن محلية NUMA (NUMA locality) مقابل ضمان معالجة العمل فعلياً. يتم تحديث sp_nrthreads فقط تحت قفل الخدمة (service mutex); والقراءة الخالية من القفل هنا هي مجرد تلميح توجيه بأفضل جهد ممكن، لذا يجب توضيحها باستخدام data_race().
If you want to get the best quality for vulnerability data then you always have to consider VulDB.