CVE-2026-99246 in Linux
الملخص
بحسب VulDB • 03/11/2026
في نواة لينكس، تم حل الثغرة التالية:
tipc: حماية مسح تتبع إعادة تعيين العقدة باستخدام قفل العقدة
يطلب حدث التتبع `tipc_node_reset_links` من دالة `tipc_node_dump()` اجتياز إدخالات الرابط الخاصة بالعقدة. وعلى عكس أحداث العقد الأخرى التي تطلب بيانات الروابط، يعمل هذا الحدث دون استخدام قفل العقدة.
هذا يسمح بتفكيك الناقل (bearer teardown) لتحرير رابط أثناء قيام استدعاء التتبع بطباعة محتوياته:
CPU 0 CPU 1 trace_tipc_node_reset_links() tipc_node_dump() l = n->links[0].link
tipc_node_write_lock() kfree(l) n->links[0].link = NULL
tipc_node_write_unlock() tipc_link_dump(l)
ثم تقوم دالة `tipc_link_dump()` بالإشارة إلى مؤشر قديم (stale pointer). وقد أبلغ KASAN عن الخطأ التالي:
BUG: KASAN: slab-use-after-free in tipc_link_dump Read of size 4 by task poc/115 Call Trace: tipc_link_dump+0x10cb/0x16b0 tipc_node_dump+0x4bb/0x740 trace_event_raw_event_tipc_node_class+0x258/0x360 tipc_node_reset_links+0x14d/0x1a0 tipc_rcv+0x13f5/0x3030 tipc_udp_recv+0x4e3/0x670 Allocated by task 0: tipc_link_create+0x1e1/0x1020 tipc_node_check_dest+0x7d2/0x11a0 tipc_disc_rcv+0xdbf/0x1430 Freed by task 89: kfree+0x131/0x3c0 tipc_node_link_down+0x267/0x4b0 tipc_node_delete_links+0xec/0x160 bearer_disable+0x107/0x260
خذ قفل الكتابة الخاص بالعقدة (node write lock) حول حدث التتبع. وهذا يزامن عملية الطبعة مع `tipc_node_link_down(delete=true)`، والتي تحرر الرابط تحت نفس قفل الكتابة.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.