PT-2026-34658
CVE-2026-31532
·
تاريخ النشر
2026-04-23
·
تاريخ التحديث
2026-10-21
الوصف من
CVSS 3.1
7.8
عاليةالمقاييسAV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
اسم البرنامج المعرض للخطر والإصدارات المتأثرة
نواة لينكس (الإصدارات المتأثرة غير محددة)
الوصف
توجد حالة تنافس في النظام الفرعي SocketCAN التابع لنواة لينكس. تقوم الدالة
raw release() بإلغاء تسجيل مرشحات استقبال CAN الأولية عبر الدالة can rx unregister()، لكن حذف جهاز الاستقبال يتم تأجيله باستخدام الدالة call rcu(). يؤدي هذا إلى ظهور نافذة زمنية قد تظل فيها الدالة raw rcv() قيد التنفيذ داخل قسم حرج من جانب القراءة في RCU بعد أن تكون الدالة raw release() قد حررت بالفعل ro->uniq، مما يؤدي إلى استخدام مساحة التخزين uniq الخاصة بكل وحدة معالجة مركزية (percpu) بعد تحريرها.التوصيات
نقل استدعاء
free percpu(ro->uniq) من raw release() إلى مُدمِر مأخذ توصيل خاص بـ raw. وهذا يضمن عدم تحرير منطقة percpu حتى يتم استنزاف عمليات الاستدعاء المرتدة ذات الصلة، حيث تحتفظ can rx unregister() بإشارة إضافية إلى مأخذ التوصيل لا يتم إسقاطها إلا من عملية الاستدعاء المرتدة لـ RCU، مما يسمح لـ sk destruct بالتعامل مع تحرير uniq بأمان. وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾