{"id":"CVE-2026-99246","published":"2026-11-03T12:17:31.030","lastModified":"2026-11-03T20:18:31.013","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ntipc: protect node reset trace dump with node lock\n\nThe tipc_node_reset_links trace event asks tipc_node_dump() to walk the\nnode's link entries. Unlike the other node events that request link data,\nthis event runs without the node lock.\n\nThis permits bearer teardown to free a link while the trace callback is\ndumping it:\n\n  CPU 0                                CPU 1\n  trace_tipc_node_reset_links()\n    tipc_node_dump()\n      l = n->links[0].link\n                                       tipc_node_write_lock()\n                                       kfree(l)\n                                       n->links[0].link = NULL\n                                       tipc_node_write_unlock()\n      tipc_link_dump(l)\n\ntipc_link_dump() then dereferences the stale pointer. KASAN reported:\n\n  BUG: KASAN: slab-use-after-free in tipc_link_dump\n  Read of size 4 by task poc/115\n  Call Trace:\n   tipc_link_dump+0x10cb/0x16b0\n   tipc_node_dump+0x4bb/0x740\n   trace_event_raw_event_tipc_node_class+0x258/0x360\n   tipc_node_reset_links+0x14d/0x1a0\n   tipc_rcv+0x13f5/0x3030\n   tipc_udp_recv+0x4e3/0x670\n  Allocated by task 0:\n   tipc_link_create+0x1e1/0x1020\n   tipc_node_check_dest+0x7d2/0x11a0\n   tipc_disc_rcv+0xdbf/0x1430\n  Freed by task 89:\n   kfree+0x131/0x3c0\n   tipc_node_link_down+0x267/0x4b0\n   tipc_node_delete_links+0xec/0x160\n   bearer_disable+0x107/0x260\n\nTake the node write lock around the trace event. This serializes the\ndump against tipc_node_link_down(delete=true), which frees the link\nunder the same write lock.","cvssScore":8.1,"cvssSeverity":"HIGH","cvssVector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","cwes":[],"vendors":[],"products":[],"references":[{"url":"https://git.kernel.org/stable/c/6abd93d01b0f495f29201925a5ee8e6a583c4044","tags":[]},{"url":"https://git.kernel.org/stable/c/6e492cb98ca69cc1145175e23e22e3b84da7f26d","tags":[]},{"url":"https://git.kernel.org/stable/c/7bb6a35bd6d69019539d8782fb590fd2aa8a3236","tags":[]},{"url":"https://git.kernel.org/stable/c/a6101d62ccfa153db8c218ce59362b8e0316fd4f","tags":[]},{"url":"https://git.kernel.org/stable/c/b8b7d28dc2b7472ffd1eff3954c38f1976b21a7b","tags":[]},{"url":"https://git.kernel.org/stable/c/c8b72ca0918e95f708f67c8b3e69b05290f2b6d2","tags":[]},{"url":"https://git.kernel.org/stable/c/dddf197f29ba5e47a476dde82bf542ca2e0d5e5e","tags":[]},{"url":"https://git.kernel.org/stable/c/fa8c78c0e49aa11fae116fd841e41aa8f2d68751","tags":[]}],"exploitRefs":[],"hasPoc":false,"ai":null}