CVE-2022-49863

Summary

In the Linux kernel, the following vulnerability has been resolved:

can: af_can: fix NULL pointer dereference in can_rx_register()

It causes NULL pointer dereference when testing as following: (a) use syscall(__NR_socket, 0x10ul, 3ul, 0) to create netlink socket. (b) use syscall(__NR_sendmsg, …) to create bond link device and vxcan link device, and bind vxcan device to bond device (can also use ifenslave command to bind vxcan device to bond device). (c) use syscall(__NR_socket, 0x1dul, 3ul, 1) to create CAN socket. (d) use syscall(__NR_bind, …) to bind the bond device to CAN socket.

The bond device invokes the can-raw protocol registration interface to receive CAN packets. However, ml_priv is not allocated to the dev, dev_rcv_lists is assigned to NULL in can_rx_register(). In this case, it will occur the NULL pointer dereference issue.

The following is the 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: <TASK> 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 </TASK>

Affected Software

VendorProductVersion RangeStatus
LinuxLinux4ac1feff6ea6495cbfd336f4438a6c6d140544a6 < afab4655750fcb3fca359bc7d7214e3d634cdf9caffected
LinuxLinux1a5751d58b14195f763b8c1d9ef33fb8a93e95e7 < d68fa77ee3d03bad6fe84e89759ddf7005f9e9c6affected
LinuxLinux4e096a18867a5a989b510f6999d9c6b6622e8f7b < 261178a1c2623077d62e374a75c195e6c99a6f05affected
LinuxLinux4e096a18867a5a989b510f6999d9c6b6622e8f7b < a8055677b054bc2bb78beb1080fdc2dc5158c2feaffected
LinuxLinux4e096a18867a5a989b510f6999d9c6b6622e8f7b < 8aa59e355949442c408408c2d836e561794c40a1affected
LinuxLinux96340078d50a54f6a1252c62596bc44321c8bff9affected
LinuxLinux5.4.110 < 5.4.225affected
LinuxLinux5.10.28 < 5.10.155affected
LinuxLinux5.11.12 < 5.12affected
LinuxLinux5.12affected
LinuxLinux0 < 5.12unaffected
LinuxLinux5.4.225 <= 5.4.*unaffected
LinuxLinux5.10.155 <= 5.10.*unaffected
LinuxLinux5.15.79 <= 5.15.*unaffected
LinuxLinux6.0.9 <= 6.0.*unaffected
LinuxLinux6.1 <= *unaffected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: partial

References