CVE-2022-49863 in Linux
Сводка
по VulDB • 04.06.2026
В ядре Linux устранена следующая уязвимость:
can: af_can: исправлено разыменование нулевого указателя в can_rx_register()
Это приводит к разыменованию нулевого указателя при выполнении следующих действий: (a) использовать syscall(__NR_socket, 0x10ul, 3ul, 0) для создания сокета netlink. (b) использовать syscall(__NR_sendmsg, ...) для создания устройства bond link и устройства vxcan link, а также привязать устройство vxcan к устройству bond (также можно использовать команду ifenslave для привязки устройства vxcan к устройству bond). (c) использовать syscall(__NR_socket, 0x1dul, 3ul, 1) для создания сокета CAN. (d) использовать syscall(__NR_bind, ...) для привязки устройства bond к сокету CAN.
Устройство bond вызывает интерфейс регистрации протокола can-raw для получения пакетов CAN. Однако ml_priv не выделяется для dev, а dev_rcv_lists присваивается NULL в can_rx_register(). В этом случае возникает проблема с разыменованием нулевого указателя.
Ниже приведена информация о стеке вызовов: 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
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.