PT-2026-36467
CVE-2026-43050
·
تاريخ النشر
2026-03-09
·
تاريخ التحديث
2026-10-13
الوصف من
CVSS 2.0
7.7
عاليةالمقاييسAV:A/AC:L/Au:S/C:C/I:C/A:C
اسم البرنامج المعرض للخطر والإصدارات المتأثرة
نواة لينكس (لم يتم تحديد الإصدارات المتأثرة)
الوصف
توجد حالة تنافس في نواة Linux بين الدالة
lec atm close() التي تضبط priv->lecd على NULL والوصول المتزامن إلى priv->lecd داخل الدوال send to lecd() وlec handle bridge() وlec atm send(). يحدث هذا لأن الدالة lec atm close() تقوم بمسح priv->lecd دون تزامن، في حين أن المستدعين الآخرين يقومون بإلغاء الإشارة إليها دون حماية ضد الإزالة المتزامنة. ونتيجة لذلك، إذا تم تحرير المأخذ عبر RCU بينما لا يزال خيط آخر يستخدمه، يحدث استخدام بعد التحرير (use-after-free) في الدالة sock def readable() عند الوصول إلى قائمة انتظار المأخذ.التوصيات
تحويل
priv->lecd إلى مؤشر محمي بواسطة RCU عن طريق وضع علامة rcu عليه في ملف lec.h واستخدام الدالة rcu assign pointer() في الدالتين lec atm close() وlecd attach().استخدم
rcu access pointer() للتحقق من القيمة NULL في lec start xmit() وlec push() وsend to lecd() وlecd attach().قم بتنفيذ
rcu read lock() وrcu dereference() وrcu read unlock() في send to lecd() وlec handle bridge() وlec atm send() للوصول بأمان إلى lecd.قم بتطبيق
rcu assign pointer() متبوعًا بـ synchronize rcu() في lec atm close() لضمان اكتمال جميع عمليات القراءة قبل المتابعة. وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾