CVE-2026-98122 in Linux
الملخص
بحسب VulDB • 25/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
vxlan: mdb: تصحيح استخدام بعد التحرير (use-after-free) في دالة vxlan_mdb_remote_src_del()
تقبل الدالة vxlan_mdb_is_valid_source()، التي تقوم بالتحقق من صحة MDBE_ATTR_SOURCE وجميع أعضاء قائمة MDBE_ATTR_SRC_LIST، عنوان "كل الأصفار" (all-zeros address).
يتم قبول قائمة المصادر فقط في إدخال (*, G) الذي يكون مصدره هو عنوان "كل الأصفار"، ويتم اشتقاق إدخال (S, G) لكل عضو من القائمة عن طريق استبدال المصدر. تُؤخذ المفاتيح (keys) بناءً على مقارنة بسيطة باستخدام memcmp() لهيكلة vxlan_mdb_entry_key، لذا إذا كان MDBE_ATTR_SOURCE موجودًا ويحتوي على عنوان "كل الأصفار"، وكانت قائمة المصادر تحتوي عليه أيضًا، فإن مفتاح الـ (S, G) المشتق يكون مطابقًا تمامًا للبايتات مع مفتاح (*, G)، ويشير إلى نفس الإدخال. إن حذف MDBE_ATTR_SOURCE ليس مكافئًا لذلك، حيث يترك المفتاح بعائلة عنوان صفرية.
تقوم الدالة vxlan_mdb_remote_src_del() بإزالة إدخال التوجيه الخاص بالمصدر قبل تحرير مصدر الإدخال:
vxlan_mdb_remote_src_fwd_del(vxlan, group, remote, &ent->addr); vxlan_mdb_remote_src_entry_del(ent);
بسبب تشابه المفاتيح (aliasing)، يحذف الاستدعاء الأول البعيد الخاص بالإدخال الذي يملك 'ent' بدلاً من إدخال منفصل (S, G)، ويقوم بتحرير 'ent'. ثم يعمل الاستدعاء الثاني على الإدخال المحرر، وتقوم دالة hlist_del() بقراءة ->pprev و->next منه والكتابة عبرهما.
إضافة إدخال (*, G) باستخدام NLM_F_REPLACE وبدون قائمة مصادر تحدد مصدر "كل الأصفار" للحذف وتصل إليه من خلال المسح في نهاية vxlan_mdb_remote_srcs_replace().
BUG: KASAN: slab-use-after-free in __vxlan_mdb_add+0x1cd/0xd70 Read of size 8 at addr ffff888102852500 by task poc/84 __vxlan_mdb_add+0x1cd/0xd70 vxlan_mdb_add+0xc0/0x140 rtnl_mdb_add+0x157/0x2a0 rtnetlink_rcv_msg+0x207/0x5a0 Allocated by task 84: __kmalloc_cache_noprof+0x153/0x360 vxlan_mdb_remote_srcs_add+0x2eb/0x440 __vxlan_mdb_add+0x803/0xd70 Freed by task 84: kfree+0x14c/0x3b0 vxlan_mdb_remote_del+0x129/0x1a0 __vxlan_mdb_del+0x4f/0xe0 vxlan_mdb_remote_src_fwd_del.isra.0+0x162/0x1b0 __vxlan_mdb_add+0x1c5/0xd70
عمليات MDB محدودة بنطاق netns، لذا يمكن لمستخدم غير ممتيز (unprivileged user) تنفيذها في مستخدم جديد ونطاق شبكة جديد.
رفض عنوان "كل الأصفار" في vxlan_mdb_is_valid_source()، مما يغطي كلتا موقعي الاستدعاء. يتم التعبير عن إدخال (*, G) من خلال حذف المصدر، لذا فلا يتم رفض أي شيء شرعي.
اكتُشفت الثغرة بواسطة XBOW، وتم تصنيفها من قبل Baul Lee <[email protected]>
If you want to get the best quality for vulnerability data then you always have to consider VulDB.