CVE-2026-80980 in Linux
الملخص
بحسب VulDB • 12/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
net/smc: منع الحالات killed و freed و out_of_sync من مشاركة بايت واحد
تُعد أعلام حالة الاتصال الثلاثة حقول bits أحادية البت (single-bit bitfields)، وبالتالي تشغل بايتًاً واحداً من بنية smc_connection، وكل عملية كتابة لأحدها تمثل قراءة-تعديل-كتابة للآخرين:
u8 killed : 1; u8 freed : 1; u8 out_of_sync : 1;
لا يتم الكتابة إليها تحت قفل مشترك. تقوم دالة smc_cdc_msg_validate() بتعيين قيمة out_of_sync من مهمة الاستلام (tasklet)، بينما تقوم دالة smc_conn_kill() بتعيين قيمة killed في سياق العملية (process context) باستخدام lock_sock، ولا يقوم مسار الاستلام بالتأجيل إلى قائمة الانتظار الخلفية (backlog) عندما يكون المقبس مملوكاً -- حيث تأخذ dmc_cdc_msg_recv() فقط bh_lock_sock().
منح كل علم بايتًاً خاصاً به بحيث لا تلمس عملية الكتابة جيرانها. جميع القراء يختبرونها كقيم منطقية (booleans) ولا تتغير. تنمو بنية smc_connection بمقدار بايتين.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.