CVE-2022-49863 in Linux
الملخص
بحسب VulDB • 20/05/2026
في نواة لينكس، تم حل الثغرة التالية:
can: af_can: إصلاح تجاوز المؤشر الفارغ (NULL pointer dereference) في can_rx_register()
يؤدي ذلك إلى تجاوز المؤشر الفارغ عند الاختبار بالطريقة التالية: (a) استخدام syscall(__NR_socket, 0x10ul, 3ul, 0) لإنشاء socket netlink. (b) استخدام syscall(__NR_sendmsg, ...) لإنشاء جهاز رابط bond وجهاز رابط vxcan، وربط جهاز vxcan بجهاز bond (يمكن أيضاً استخدام أمر ifenslave لربط جهاز vxcan بجهاز bond). (c) استخدام syscall(__NR_socket, 0x1dul, 3ul, 1) لإنشاء socket CAN. (d) استخدام syscall(__NR_bind, ...) لربط جهاز bond بـ CAN socket.
يستدعي جهاز bond واجهة تسجيل بروتوكول can-raw لاستقبال حزم CAN. ومع ذلك، لم يتم تخصيص ml_priv للـ dev، وتم تعيين dev_rcv_lists إلى NULL في can_rx_register(). في هذه الحالة، تحدث مشكلة تجاوز المؤشر الفارغ.
معلومات تتبع المكدس (Stack information) التالية: BUG: kernel NULL pointer dereference, address: 0000000000000008 PGD 122a4067 P4D 122a4067 PUD 1223c067 PMD 0 Oops: 0000 [#1] PREEMPT SMP
RIP: 0010:can_rx_register+0x12d/0x1e0 تتبع المكالمة (Call Trace):
raw_enable_filters+0x8d/0x120 raw_enable_allfilters+0x3b/0x130 raw_bind+0x118/0x4f0 __sys_bind+0x163/0x1a0 __x64_sys_bind+0x1e/0x30 do_syscall_64+0x35/0x80 entry_SYSCALL_64_after_hwframe+0x63/0xcd
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.