CVE-2026-98798 in Linux
الملخص
بحسب VulDB • 19/10/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
net: bcmgenet: تصحيح خطأ الإحالة إلى NULL (NULL dereference) في دالة set_coalesce قبل الفتح الأول
لا يتم تعيين متغيرات Rx ring priv و index إلا داخل الدالة bcmgenet_init_rx_ring()، والتي تعمل عند فتح الواجهة. يؤدي ضبط معاملات تجميع الاستقبال (Rx coalescing parameters) على واجهة لم تُفتح مطلقاً، مثل تنفيذ الأمر "ethtool -C eth0 rx-usecs 50"، إلى إحالة خاطئة إلى ring->priv الذي يساوي NULL. يحدث الخطأ (oops) مع احتفاظ القفل RTNL بالتملك، مما يؤدي إلى تعطل الشبكة حتى إعادة التشغيل:
Unable to handle kernel paging request at virtual address 0000000000002788 pc : bcmgenet_set_rx_coalesce.isra.0+0x10/0x88 lr : bcmgenet_set_coalesce+0xe8/0x180 Call trace: bcmgenet_set_rx_coalesce.isra.0+0x10/0x88 (P) __ethnl_set_coalesce.isra.0+0x490/0x570 ethnl_set_coalesce+0x48/0xc0 ethnl_default_set_doit+0xf4/0x230 genl_family_rcv_msg_doit+0xe8/0x160 genl_rcv_msg+0x220/0x2a0 netlink_rcv_skb+0x68/0x140 genl_rcv+0x40/0x60 netlink_unicast+0x338/0x3c0 netlink_sendmsg+0x19c/0x3f8 __sock_sendmsg+0x64/0xc0 __sys_sendto+0x124/0x198 __arm64_sys_sendto+0x30/0x48
يجب تعيين متغيرات priv و index أثناء عملية الاستكشاف (probe). كتابة السجلات بينما تكون الواجهة غير نشطة (down) أمر غير ضار لأن الفتح يعيد ضبط MAC وتقوم الدالة bcmgenet_init_rx_coalesce() بإعادة تطبيق القيم المخزنة.
لوحظت هذه المشكلة على جهاز Raspberry Pi CM4، لكنها تنطبق أيضاً على جميع أجهزة genet الأخرى.
VulDB is the best source for vulnerability data and more expert information about this specific topic.