{"id":"CVE-2026-98812","title":"net/mctp: publish the mctp_dev only after it is initialised","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/mctp: publish the mctp_dev only after it is initialised\n\nmctp_add_dev() links the new mctp_dev into dev->mctp_ptr before mdev->dev\nis assigned, so a reader that pic…","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= 583be982d93479ea3d85091b0fd0b01201ede87d < af6e4f931afc2d670d133aa2bedc8b6e3753c618","Linux >= 583be982d93479ea3d85091b0fd0b01201ede87d < 63120572edde85bb2b70b0ed4d4817ed52247613","Linux >= 583be982d93479ea3d85091b0fd0b01201ede87d < f37f42e6e039a48c2dcf6c079b9f7fbc864ab7ef","Linux >= 583be982d93479ea3d85091b0fd0b01201ede87d < aadf655e8ea9a8ffa24bb8d69f504572e8d18181","Linux 5.15"],"published":"2026-10-18","updated":"2026-10-18","sourceUpdated":"2026-10-18T15:48:58.470Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-98812","references":[{"url":"https://git.kernel.org/stable/c/af6e4f931afc2d670d133aa2bedc8b6e3753c618"},{"url":"https://git.kernel.org/stable/c/63120572edde85bb2b70b0ed4d4817ed52247613"},{"url":"https://git.kernel.org/stable/c/f37f42e6e039a48c2dcf6c079b9f7fbc864ab7ef"},{"url":"https://git.kernel.org/stable/c/aadf655e8ea9a8ffa24bb8d69f504572e8d18181"}],"tags":["cve.org"],"ingestedAt":"2026-10-18T16:47:32.478Z","slug":"CVE-2026-98812","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nnet/mctp: publish the mctp_dev only after it is initialised\n\nmctp_add_dev() links the new mctp_dev into dev->mctp_ptr before mdev->dev\nis assigned, so a reader that picks the device up in that window\ndereferences a net_device pointer that is still NULL:\n\nKASAN: null-ptr-deref in range [0x00000000000000b0-0x00000000000000b7]\nCall Trace:\n <TASK>\n ? __pfx_mctp_sendmsg (./include/linux/sockptr.h:49)\n ? __pfx_mctp_dst_output (net/mctp/route.c:41)\n ? selinux_socket_sendmsg (security/selinux/hooks.c:5278)\n ____sys_sendmsg (net/socket.c:775 (discriminator 1) net/socket.c:790\n (discriminator 1) net/socket.c:2684 (discriminator 1))\n ? __pfx_____sys_sendmsg (net/socket.c:1131)\n ? __pfx_copy_msghdr_from_user (net/socket.c:2590)\n ? update_cfs_rq_load_avg (kernel/sched/fair.c:5478)\n ___sys_sendmsg (net/socket.c:2738)\n ? __pfx____sys_sendmsg (net/socket.c:2625)\n ? perf_event_task_tick (./include/linux/rcupdate.h:838)\n ? sched_tick (kernel/sched/core.c:5818)\n ? clockevents_program_event (kernel/time/clockevents.c:372)\n ? fdget (./include/linux/rcupdate.h:873 fs/file.c:1100)\n __sys_sendmsg (net/socket.c:2770)\n ? __pfx___sys_sendmsg (net/socket.c:2751)\n do_syscall_64 (arch/x86/entry/syscall_64.c:63)\n entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121)\n </TASK>\n\nFix by publishing only once the object is fully initialised:\n__mctp_dev_get() runs under rcu_read_lock() only and hands\nthis object to readers as soon as mctp_ptr is assigned, so\nthey must never observe mdev->dev == NULL.\n\n## Affected\n\n- `Linux >= 583be982d93479ea3d85091b0fd0b01201ede87d < af6e4f931afc2d670d133aa2bedc8b6e3753c618`\n- `Linux >= 583be982d93479ea3d85091b0fd0b01201ede87d < 63120572edde85bb2b70b0ed4d4817ed52247613`\n- `Linux >= 583be982d93479ea3d85091b0fd0b01201ede87d < f37f42e6e039a48c2dcf6c079b9f7fbc864ab7ef`\n- `Linux >= 583be982d93479ea3d85091b0fd0b01201ede87d < aadf655e8ea9a8ffa24bb8d69f504572e8d18181`\n- `Linux 5.15`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}