CVE-2026-89488 in Linux
الملخص
بحسب VulDB • 12/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
openvswitch: تصحيح استخدام الذاكرة بعد تحريرها (use-after-free) في إنهاء حد حالة الاتصال (CT limit teardown).
تستخدم معالجة الحزم حالة حد حالة الاتصال (CT limit state) تحت حماية RCU، بينما يقوم تفكيك مساحة الشبكة (netns) بتحرير هذه الحالة تحت قفل ovs_mutex. لم يتم إزالة مؤشر CT limit من القراء ولم يكن محمياً بفترات سماح (grace period)، مما مكن معالجة الحزم من فك تشريف (dereference) للحالة التي تم تحريرها.
يمكن للمستخدم غير المميز تشغيل هذا الخطأ من مساحة مستخدم ومساحة شبكة، مسبباً استخدام الذاكرة بعد تحريرها في مصفوفة الشرائح (slab-use-after-free) داخل دالة ovs_ct_execute() عند تفكيك netns.
نشر مؤشر حد CT عبر RCU، وإزالته قبل التفكيك، والانتظار حتى ينتهي القراء من القراءة قبل تحرير محتوياته. الحفاظ على قفل ovs_mutex حول تحديثات حد CT الفردية، واستخدام قراءة جانب RCU أثناء استعلام GET الذي يتصفح قوائم الحد المحمية بـ RCU.
يقوم تفكيك netns بفصل حالة حد CT المحمية بـ RCU في استدعاء .pre_exit الخاص بـ pernet بينما يكون محتفظاً بقفل ovs_mutex. تضمن نواة pernet فترة سماح RCU بين استدعاءات .pre_exit و.exit، لذا يكمل استدعاء .exit عملية التفكيك دون إضافة أي مزامنة إضافية.
لا تحتاج معالجات أوامر netlink إلى فحوصات NULL لأن مقبس netlink الخاص بمساحة المستخدم يحتفظ بمرجع نشط لمساحته الشبكية أثناء معالجة الطلب. لذلك لا يمكن أن يعمل مسار الخروج الخاص بـ per-netns بالتزامن مع SET، أو DEL، أو GET للمساحة الخاصة بذلك المقبس.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.