{"id":"CVE-2026-98812","state":"PUBLISHED","title":"net/mctp: publish the mctp_dev only after it is initialised","description":"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 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.","publishedAt":"2026-10-18T15:48:58.470Z","updatedAt":"2026-10-30T12:39:58.094Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"583be982d93479ea3d85091b0fd0b01201ede87d","status":"affected","lessThan":"58a270b5ecd8629114a4754d642bad6a33bef493","versionType":"git"},{"version":"583be982d93479ea3d85091b0fd0b01201ede87d","status":"affected","lessThan":"fdf09d0fa2fb639950bede185d22689f68df140e","versionType":"git"},{"version":"583be982d93479ea3d85091b0fd0b01201ede87d","status":"affected","lessThan":"288ef37e0c463192dbb6436e61cdc07ce666dcb9","versionType":"git"},{"version":"583be982d93479ea3d85091b0fd0b01201ede87d","status":"affected","lessThan":"af6e4f931afc2d670d133aa2bedc8b6e3753c618","versionType":"git"},{"version":"583be982d93479ea3d85091b0fd0b01201ede87d","status":"affected","lessThan":"63120572edde85bb2b70b0ed4d4817ed52247613","versionType":"git"},{"version":"583be982d93479ea3d85091b0fd0b01201ede87d","status":"affected","lessThan":"f37f42e6e039a48c2dcf6c079b9f7fbc864ab7ef","versionType":"git"},{"version":"583be982d93479ea3d85091b0fd0b01201ede87d","status":"affected","lessThan":"aadf655e8ea9a8ffa24bb8d69f504572e8d18181","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/mctp/device.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.15","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.15","versionType":"semver"},{"version":"5.15.224","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.113","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.56","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.10","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/mctp/device.c"]}],"references":["https://git.kernel.org/stable/c/58a270b5ecd8629114a4754d642bad6a33bef493","https://git.kernel.org/stable/c/fdf09d0fa2fb639950bede185d22689f68df140e","https://git.kernel.org/stable/c/288ef37e0c463192dbb6436e61cdc07ce666dcb9","https://git.kernel.org/stable/c/af6e4f931afc2d670d133aa2bedc8b6e3753c618","https://git.kernel.org/stable/c/63120572edde85bb2b70b0ed4d4817ed52247613","https://git.kernel.org/stable/c/f37f42e6e039a48c2dcf6c079b9f7fbc864ab7ef","https://git.kernel.org/stable/c/aadf655e8ea9a8ffa24bb8d69f504572e8d18181"],"weaknesses":[],"ingestedAt":"2026-10-30T13:00:06.648Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/98xxx/CVE-2026-98812.json","commit":"cb14bf1b43b0c9f05f7f40eae2246263fd430780","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-98812","state":"PUBLISHED","datePublished":"2026-10-18T15:48:58.470Z","dateUpdated":"2026-10-30T12:39:58.094Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-25T10:25:14.371Z"},"containers":{"cna":{"title":"net/mctp: publish the mctp_dev only after it is initialised","descriptions":[{"lang":"en","value":"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 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."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"583be982d93479ea3d85091b0fd0b01201ede87d","status":"affected","lessThan":"58a270b5ecd8629114a4754d642bad6a33bef493","versionType":"git"},{"version":"583be982d93479ea3d85091b0fd0b01201ede87d","status":"affected","lessThan":"fdf09d0fa2fb639950bede185d22689f68df140e","versionType":"git"},{"version":"583be982d93479ea3d85091b0fd0b01201ede87d","status":"affected","lessThan":"288ef37e0c463192dbb6436e61cdc07ce666dcb9","versionType":"git"},{"version":"583be982d93479ea3d85091b0fd0b01201ede87d","status":"affected","lessThan":"af6e4f931afc2d670d133aa2bedc8b6e3753c618","versionType":"git"},{"version":"583be982d93479ea3d85091b0fd0b01201ede87d","status":"affected","lessThan":"63120572edde85bb2b70b0ed4d4817ed52247613","versionType":"git"},{"version":"583be982d93479ea3d85091b0fd0b01201ede87d","status":"affected","lessThan":"f37f42e6e039a48c2dcf6c079b9f7fbc864ab7ef","versionType":"git"},{"version":"583be982d93479ea3d85091b0fd0b01201ede87d","status":"affected","lessThan":"aadf655e8ea9a8ffa24bb8d69f504572e8d18181","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/mctp/device.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.15","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.15","versionType":"semver"},{"version":"5.15.224","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.113","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.56","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.10","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/mctp/device.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/58a270b5ecd8629114a4754d642bad6a33bef493"},{"url":"https://git.kernel.org/stable/c/fdf09d0fa2fb639950bede185d22689f68df140e"},{"url":"https://git.kernel.org/stable/c/288ef37e0c463192dbb6436e61cdc07ce666dcb9"},{"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"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-30T12:39:58.094Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15","versionEndExcluding":"5.15.224"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15","versionEndExcluding":"6.1.191"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15","versionEndExcluding":"6.6.160"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15","versionEndExcluding":"6.12.113"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15","versionEndExcluding":"6.18.56"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15","versionEndExcluding":"7.2.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}