CVE-2024-26663

tipc: Check the bearer type before calling tipc_udp_nl_bearer_add()

State
Published
Severity
7.8 High
Published
Apr 2, 2024
Updated
Aug 5, 2026
Reserved
Feb 19, 2024

Read the record on cve.org

Description

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

tipc: Check the bearer type before calling tipc_udp_nl_bearer_add()

syzbot reported the following general protection fault [1]:

general protection fault, probably for non-canonical address 0xdffffc0000000010: 0000 [#1] PREEMPT SMP KASAN KASAN: null-ptr-deref in range [0x0000000000000080-0x0000000000000087] ... RIP: 0010:tipc_udp_is_known_peer+0x9c/0x250 net/tipc/udp_media.c:291 ... Call Trace: <TASK> tipc_udp_nl_bearer_add+0x212/0x2f0 net/tipc/udp_media.c:646 tipc_nl_bearer_add+0x21e/0x360 net/tipc/bearer.c:1089 genl_family_rcv_msg_doit+0x1fc/0x2e0 net/netlink/genetlink.c:972 genl_family_rcv_msg net/netlink/genetlink.c:1052 [inline] genl_rcv_msg+0x561/0x800 net/netlink/genetlink.c:1067 netlink_rcv_skb+0x16b/0x440 net/netlink/af_netlink.c:2544 genl_rcv+0x28/0x40 net/netlink/genetlink.c:1076 netlink_unicast_kernel net/netlink/af_netlink.c:1341 [inline] netlink_unicast+0x53b/0x810 net/netlink/af_netlink.c:1367 netlink_sendmsg+0x8b7/0xd70 net/netlink/af_netlink.c:1909 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg+0xd5/0x180 net/socket.c:745 ____sys_sendmsg+0x6ac/0x940 net/socket.c:2584 ___sys_sendmsg+0x135/0x1d0 net/socket.c:2638 __sys_sendmsg+0x117/0x1e0 net/socket.c:2667 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0x40/0x110 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x63/0x6b

The cause of this issue is that when tipc_nl_bearer_add() is called with the TIPC_NLA_BEARER_UDP_OPTS attribute, tipc_udp_nl_bearer_add() is called even if the bearer is not UDP.

tipc_udp_is_known_peer() called by tipc_udp_nl_bearer_add() assumes that the media_ptr field of the tipc_bearer has an udp_bearer type object, so the function goes crazy for non-UDP bearers.

This patch fixes the issue by checking the bearer type before calling tipc_udp_nl_bearer_add() in tipc_nl_bearer_add().

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • ef20cd4dd1633987bcf46ac34ace2c8af212361f to before 24ec8f0da93b8a9fba11600be8a90f0d73fb46f1Affected
  • ef20cd4dd1633987bcf46ac34ace2c8af212361f to before 6f70f0b412458c622a12d4292782c8e92e210c2fAffected
  • ef20cd4dd1633987bcf46ac34ace2c8af212361f to before 19d7314f2fb9515bdaac9829d4d8eb34edd1fe95Affected
  • ef20cd4dd1633987bcf46ac34ace2c8af212361f to before c1701ea85ef0ec7be6a1b36c7da69f572ed2fd12Affected
  • ef20cd4dd1633987bcf46ac34ace2c8af212361f to before 3d3a5b31b43515b5752ff282702ca546ec3e48b6Affected
  • ef20cd4dd1633987bcf46ac34ace2c8af212361f to before 888e3524be87f3df9fa3c083484e4b62b3e3bb59Affected
  • ef20cd4dd1633987bcf46ac34ace2c8af212361f to before 0cd331dfd6023640c9669d0592bc0fd491205f87Affected
  • ef20cd4dd1633987bcf46ac34ace2c8af212361f to before 3871aa01e1a779d866fa9dfdd5a836f342f4eb87Affected
LinuxLinux
  • 4.9Affected
  • before 4.9Not affected
  • 4.19.307 through 4.19.*Not affected
  • 5.4.269 through 5.4.*Not affected
  • 5.10.210 through 5.10.*Not affected
  • 5.15.149 through 5.15.*Not affected
  • 6.1.78 through 6.1.*Not affected
  • 6.6.17 through 6.6.*Not affected
  • 6.7.5 through 6.7.*Not affected
  • 6.8 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.