CVE-2022-49664

Summary

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

tipc: move bc link creation back to tipc_node_create

Shuang Li reported a NULL pointer dereference crash:

[] BUG: kernel NULL pointer dereference, address: 0000000000000068 [] RIP: 0010:tipc_link_is_up+0x5/0x10 [tipc] [] Call Trace: [] <IRQ> [] tipc_bcast_rcv+0xa2/0x190 [tipc] [] tipc_node_bc_rcv+0x8b/0x200 [tipc] [] tipc_rcv+0x3af/0x5b0 [tipc] [] tipc_udp_recv+0xc7/0x1e0 [tipc]

It was caused by the 'l' passed into tipc_bcast_rcv() is NULL. When it creates a node in tipc_node_check_dest(), after inserting the new node into hashtable in tipc_node_create(), it creates the bc link. However, there is a gap between this insert and bc link creation, a bc packet may come in and get the node from the hashtable then try to dereference its bc link, which is NULL.

This patch is to fix it by moving the bc link creation before inserting into the hashtable.

Note that for a preliminary node becoming "real", the bc link creation should also be called before it's rehashed, as we don't create it for preliminary nodes.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux4cbf8ac2fe5a0846508fe02b95a5de1a90fa73f4 < 456bc338871c4a52117dd5ef29cce3745456d248affected
LinuxLinux4cbf8ac2fe5a0846508fe02b95a5de1a90fa73f4 < 35fcb2ba35b4d9b592b558c3bcc6e0d90e213588affected
LinuxLinux4cbf8ac2fe5a0846508fe02b95a5de1a90fa73f4 < e52910e671f58c619e33dac476b11b35e2d3ab6faffected
LinuxLinux4cbf8ac2fe5a0846508fe02b95a5de1a90fa73f4 < cb8092d70a6f5f01ec1490fce4d35efed3ed996caffected
LinuxLinux0b8f0026bbd4df1688e1726026476e60762daf2aaffected
LinuxLinux5.4.287 < 5.5affected
LinuxLinux5.5affected
LinuxLinux0 < 5.5unaffected
LinuxLinux5.10.129 <= 5.10.*unaffected
LinuxLinux5.15.53 <= 5.15.*unaffected
LinuxLinux5.18.10 <= 5.18.*unaffected
LinuxLinux5.19 <= *unaffected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

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

References