{"id":"CVE-2026-98812","kind":"vulnerability","aliases":["CVE-2026-98812"],"related":[],"title":"Linux kernel: MCTP device publication race causes null-pointer dereference","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.","summary":"In the Linux kernel's MCTP networking code, a new MCTP device can be made visible to readers before its net_device pointer is set, so a concurrent sender dereferences NULL and crashes the kernel. The sources do not state a confirmed code-execution or privilege-escalation path.","severity":"unknown","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["infrastructure","kernel","linux","mctp","networking"],"not_affected_if":["mctp-not-loaded"],"how_to_check":"- Run `uname -r` and compare against the fixed kernel versions listed in the NVD entry (unknown in the sources).\n- Check whether the MCTP protocol is in use with `lsmod | grep mctp` or `ls /proc/net/mctp` (unknown in the sources whether this is the exact check).","fix":"- Update the Linux kernel to a release containing the upstream commit that publishes the mctp_dev only after initialisation; the fixed version numbers are unknown in the sources.","status":"open","published_at":"2026-10-18T16:17:35+00:00","first_seen_at":"2026-10-23T21:57:17+00:00","triaged_at":"2026-10-25T05:14:52+00:00","updated_at":"2026-10-25T05:14:52+00:00","category":"infrastructure","confidence":0.5,"triage":{"at":"2026-10-25T05:14:52Z","model":"claude-haiku-5-5","output":{"fix":"- Update the Linux kernel to a release containing the upstream commit that publishes the mctp_dev only after initialisation; the fixed version numbers are unknown in the sources.","reach":"local","title":"Linux kernel: MCTP device publication race causes null-pointer dereference","impact":"medium","summary":"In the Linux kernel's MCTP networking code, a new MCTP device can be made visible to readers before its net_device pointer is set, so a concurrent sender dereferences NULL and crashes the kernel. The sources do not state a confirmed code-execution or privilege-escalation path.","category":"infrastructure","nicknames":[],"who_cares":["linux","kernel","networking","mctp"],"confidence":0.5,"needs_auth":"unknown","worst_case":"Kernel null-pointer dereference crashes the machine; code execution not stated.","analyst_note":"Check NVD and the upstream kernel stable commit for fixed versions, severity and whether the crash can be triggered by an unprivileged local user.","how_to_check":"- Run `uname -r` and compare against the fixed kernel versions listed in the NVD entry (unknown in the sources).\n- Check whether the MCTP protocol is in use with `lsmod | grep mctp` or `ls /proc/net/mctp` (unknown in the sources whether this is the exact check).","needs_analyst":true,"not_affected_if":["mctp-not-loaded"],"who_is_affected":"Only systems running a Linux kernel with MCTP support where MCTP devices are added, which is a niche protocol. Systems that do not load the MCTP module are unlikely to be exposed; the sources do not say more.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000704,"input_tokens":4019,"output_tokens":604,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-98812':14A,17A '/include/linux/rcupdate.h':204C,216C '/include/linux/sockptr.h':145C '0x00000000000000b0':138C '0x00000000000000b0-0x00000000000000b7':137C '0x00000000000000b7':139C '1':163C,167C,171C '1100':219C '1131':176C '121':240C '2590':183C '2625':199C '2684':169C '2738':194C '2751':228C '2770':223C '372':214C '41':152C '49':146C '5278':157C '5478':190C '5818':209C '63':233C '64':231C,236C '775':161C '790':165C '838':205C '873':217C 'add':94C 'arch/x86/entry/entry_64.s':239C 'arch/x86/entry/syscall_64.c':232C 'assign':109C,272C 'avg':188C 'call':140C 'caus':7A 'cfs':185C 'clockev':210C 'code':30B,66B 'code-execut':65B 'concurr':50B 'confirm':64B 'copi':178C 'crash':55B 'cve':12A,15A 'deref':134C 'derefer':11A,52B,121C 'dev':87C,95C,100C,102C,107C,252C,279C 'devic':4A,34B,44B,116C,124C 'discrimin':162C,166C,170C 'dst':149C 'entri':234C 'escal':71B 'event':201C,212C 'execut':67B 'fdget':215C 'fix':241C 'follow':78C 'fs/file.c':218C 'fulli':249C 'get':253C 'hand':261C 'hwframe':238C 'infrastructur':18B 'initialis':92C,250C 'kasan':130C 'kernel':2A,19B,26B,57B,76C 'kernel/sched/core.c':208C 'kernel/sched/fair.c':189C 'kernel/time/clockevents.c':213C 'link':96C 'linux':1A,20B,25B,75C 'load':187C 'lock':258C 'made':37B 'mctp':3A,21B,28B,33B,86C,93C,99C,103C,143C,148C,251C,269C 'mdev':106C,278C 'msghdr':179C 'must':275C 'net':43B,123C 'net/mctp':83C 'net/mctp/route.c':151C 'net/socket.c':160C,164C,168C,175C,182C,193C,198C,222C,227C 'network':22B,29B 'never':276C 'new':32B,98C 'null':9A,53B,129C,132C,280C 'null-point':8A 'null-ptr-deref':131C 'object':247C,263C 'observ':277C 'output':150C 'path':72B 'perf':200C 'pfx':142C,147C,172C,177C,195C,224C 'pick':114C 'pointer':10A,45B,125C 'privileg':70B 'privilege-escal':69B 'program':211C 'ptr':104C,133C,270C 'public':5A 'publish':84C,243C 'race':6A 'rang':136C 'rcu':256C 'read':257C 'reader':40B,112C,265C 'resolv':82C 'rq':186C 'run':254C 'sched':206C 'security/selinux/hooks.c':156C 'selinux':153C 'sender':51B 'sendmsg':144C,155C,159C,174C,192C,197C,221C,226C 'set':47B 'socket':154C 'soon':267C 'sourc':59B 'state':62B 'still':128C 'sys':158C,173C,191C,196C,220C,225C 'syscal':230C,235C 'task':202C 'tick':203C,207C 'trace':141C 'updat':184C 'user':181C 'visibl':38B 'vulner':79C 'window':120C","nicknames":[],"mitigations":[],"who_affected":"Only systems running a Linux kernel with MCTP support where MCTP devices are added, which is a niche protocol. Systems that do not load the MCTP module are unlikely to be exposed; the sources do not say more.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-18T16:17:35+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-98812","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98812","severity":null,"published_at":"2026-10-18T16:17:35+00:00","modified_at":"2026-10-21T13:21:47+00:00","first_seen_at":"2026-10-23T21:57:17+00:00","fetched_at":"2026-10-23T22:28:56+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}