CVE-2026-99054 in Linuxالمعلومات

الملخص

بحسب VulDB • 23/10/2026

في نواة لينكس، تم إصلاح الثغرة التالية:

tipc: تدمير طوابير العمل الخاصة بـ topsrv قبل إغلاق الاتصالات

كانت دالة `tipc_topsrv_stop()` تغلق اتصالات المشتركين بينما كانت طوابير عمل الإرسال والاستقبال للخادم الطبولوجي (topology server) لا تزال تعمل. يمكن لردود أفعال المقبس (Socket callbacks) وأحداث الاشتراك بعدئذٍ إضافة المزيد من الأعمال، ويمكن أن يؤدي العمل الجاري في عمليات الإرسال/الاستقبال إلى إنقاص مرجع الاتصال الأخير أثناء اجتياز `conn_idr`.

أدى هذا السباق (race condition) إلى عدة فشل في عملية الإنهاء: إجراء عملية جمع على قيمة 0 لـ refcount_t من دالة `conn_get()` لاتصال كان تحريره محجوباً بسبب قفل `idr_lock`، وعقب ذلك حدوث استخدام بعد التحرير (use-after-free) في `tipc_conn_close()`، واستدعاء `queue_work()` على طابور عمل تم تدميره بالفعل من خلال استدعاء جاهزية البيانات للمستمع (listener data-ready callback)، بالإضافة إلى توقف RCU في دالة `tipc_topsrv_exit_net()` بينما كان الاجتياز يدور تحت قفل `idr_lock`.

قم بتعيين المتغير `srv->listener` ليكون صفراً ضمن نطاق قفل `idr_lock` بحيث يعمل كعلامة لإيقاف التشغيل، وتخطِ استدعاء `queue_work()` بمجرد أن يصبح فارغاً (NULL)، ثم قم بتدمير طوابير العمل لتصريف الأعمال الجارية، وأخيراً أغلق الاتصالات المتبقية. ارفض دالة `tipc_conn_lookup()` بعد مسح هذه العلامة، وقم بإفلات قفل `idr_lock` عندما لا يجد اجتياز عملية الإنهاء أي اتصال، حتى لا يمكن لحدث اشتراك جارٍ تثبيت حالة `idr_in_use` بينما يحتفظ الاجتياز بالقفل.

تحل النسخة v3 محل الاختلاف الأضيق في سلسلة الخيوط الذي نشره Tung Quang Nguyen بتاريخ 2026-09-23. فهي تحتفظ بترتيب عملية الإنهاء الخاص به وتضيف رفض البحث وإفلات القفل عند وجود idr فارغ.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

مسؤول

Linux

حجز

25/09/2026

إفشاء

23/10/2026

الاعتدال

تمت الموافقة

إدخال

VDB-425900

EPSS

0.00209

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you know our Splunk app?

Download it now for free!