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

الملخص

بحسب VulDB • 12/08/2026

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

tipc: تسلسل تحديثات قائمة النسخ المتعددة (replicast) لحامل UDP

تقوم كل من الدالتين `tipc_udp_rcast_add()` و`cleanup_bearer()` بتحديث القائمة `ub->rcast.list` باستخدام `list_add_rcu()` / `list_del_rcu()`، ولكن لا يوجد أي آلية تسلسل (serialization) بينهما. تعمل عملية الإضافة في سياق softirq للاستقبال المشفر (encap receive softirq) عبر الدالة `tipc_udp_rcast_disc()` دون استخدام قفل `rtnl_lock`، مما قد يؤدي إلى حدوث حالة سباق (race condition) مع حذف التنظيف وإفساد القائمة:

فساد قائمة list_del. كان من المفترض أن يكون prev->next هو ffff8880298d7ab8، لكنه كان ffff88802449ad38. (prev=ffff888027e3ec98) خطأ حرج في النواة (kernel BUG) عند lib/list_debug.c:62! مؤشر البرنامج (RIP): __list_del_entry_valid_or_report+0x17a/0x200 قائمة المهام (Workqueue): events cleanup_bearer تتبع المكالمات (Call Trace): cleanup_bearer (net/tipc/udp_media.c:811) process_one_work (kernel/workqueue.c:3302) worker_thread (kernel/workqueue.c:3466)

يمكن تمكين حامل البيانات (bearer) من مساحة اسم مستخدم غير متميزة (unprivileged user namespace)، لأن عمليات generic-netlink الخاصة بـ TIPCv2 لا تحمل صفة GENL_ADMIN_PERM.

أضف قفلًا لولبيًا (spinlock) إلى هيكل `udp_bearer` واستخدمه حول استدعاء `list_add_rcu()` في الدالة `tipc_udp_rcast_add()` وحلقة `list_del_rcu()` في الدالة `cleanup_bearer()` بحيث لم يعد بإمكان الكاتبين الاثنين إفساد القائمة.

ارفض نظيرًا مكررًا (duplicate peer) تحت نفس القفل قبل تخصيص الموارد، وأزل الدالة `tipc_udp_is_known_peer()`. كان الفحص المسبق الخالي من القفل القديم في الدالة `tipc_udp_rcast_disc()` عرضة لحالات السباق: حيث يمكن لـ softirqs متعددة اكتشاف النظير نفسه، وكلاهما قد يجد أنه غير موجود ويضيفه مرتين.

تعمل الدالة `cleanup_bearer()` ضمن قائمة مهام (workqueue) بعد أن تقوم الدالة `tipc_udp_disable()` بإزالة بت الحالة "up" لحامل البيانات، لذا يمكن لـ softirq للتشفير الوصول إلى الدالة `tipc_udp_rcast_add()` وإضافة نظير جديد حتى بعد إفراغ القائمة من قبل `cleanup_bearer()`، مما يتسبب في تسرب ذلك العنصر عند تحرير حامل البيانات. علّم حامل البيانات بأنه معطل تحت قفل `rcast_lock` بمجرد إفراغ القائمة وامنع الإضافات اللاحقة.

Be aware that VulDB is the high quality source for vulnerability data.

مسؤول

Linux

حجز

30/07/2026

إفشاء

10/08/2026

الاعتدال

تمت الموافقة

إدخال

VDB-387696

EPSS

0.00155

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you know our Splunk app?

Download it now for free!