CVE-2026-99246
High · 8.1CVSS
8.1
EPSS
0.4%
Published
Nov 3, 2026
CISA due date
—
Cloudanix analysis
A bug in Linux kernel networking code could let a remote attacker crash servers or potentially take them over by sending specially formatted network messages.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- OS kernel
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free in the TIPC subsystem when the tipc_node_reset_links trace event calls tipc_node_dump() without holding the node lock, allowing a concurrent bearer teardown to free a link structure that is later dereferenced in tipc_link_dump().
Why it matters to the business
Remote attackers can trigger kernel crashes or memory corruption on systems running TIPC over UDP, leading to denial of service or potential code execution; the issue affects any kernel with TIPC enabled and has been public for one day with no known exploits yet.
How an attack unfolds
An attacker sends crafted TIPC UDP packets that reach tipc_rcv and trigger the tipc_node_reset_links trace event; while the dump callback walks link pointers without the node write lock, a parallel bearer disable frees the link, resulting in the subsequent tipc_link_dump dereferencing a freed slab object.
How to fix it
Upgrade to a kernel containing the fix that acquires the node write lock around the trace event; rebuild and reboot affected systems, or apply the backported patch if a distribution update is unavailable.
How to confirm the fix worked
Confirm the patch is present by checking that tipc_node_reset_links now holds tipc_node_write_lock before calling tipc_node_dump; recompile with KASAN and exercise the trace event under concurrent bearer disable to verify absence of use-after-free reports.
Typical attack path
- Send TIPC discovery or data packets over UDP to a listening node to populate links
- Trigger the tipc_node_reset_links tracepoint under concurrent link teardown conditions
- Race the trace dump against tipc_node_link_down so that kfree occurs before tipc_link_dump reads the structure
- Leverage the resulting slab-use-after-free for memory corruption or kernel panic
How to detect it
Search kernel logs and dmesg for KASAN reports containing tipc_link_dump, tipc_node_dump, or slab-use-after-free during tipc_rcv or tipc_udp_recv; inspect auditd or system call traces for unusual TIPC socket activity coinciding with bearer disable events.
- BUG: KASAN: slab-use-after-free in tipc_link_dump
- tipc_link_dump+0x10cb
- tipc_node_reset_links
- tipc_udp_recv
What your security team should do
- Apply the upstream fix or distribution kernel update within the next maintenance window
- Disable TIPC protocol (net.tipc.enable=0) on systems that do not require it until patched
- Monitor for KASAN or slab-use-after-free reports mentioning tipc_link_dump in kernel logs
- Review network exposure of TIPC UDP ports (default 6118) and apply firewall rules if feasible
The record
In the Linux kernel, the following vulnerability has been resolved: tipc: protect node reset trace dump with node lock The tipc_node_reset_links trace event asks tipc_node_dump() to walk the node's link entries. Unlike the other node events that request link data, this event runs without the node lock. This permits bearer teardown to free a link while the trace callback is dumping it: CPU 0 CPU 1 trace_tipc_node_reset_links() tipc_node_dump() l = n->links[0].link tipc_node_write_lock() kfree(l) n->links[0].link = NULL tipc_node_write_unlock() tipc_link_dump(l) tipc_link_dump() then dereferences the stale pointer. KASAN reported: BUG: KASAN: slab-use-after-free in tipc_link_dump Read of size 4 by task poc/115 Call Trace: tipc_link_dump+0x10cb/0x16b0 tipc_node_dump+0x4bb/0x740 trace_event_raw_event_tipc_node_class+0x258/0x360 tipc_node_reset_links+0x14d/0x1a0 tipc_rcv+0x13f5/0x3030 tipc_udp_recv+0x4e3/0x670 Allocated by task 0: tipc_link_create+0x1e1/0x1020 tipc_node_check_dest+0x7d2/0x11a0 tipc_disc_rcv+0xdbf/0x1430 Freed by task 89: kfree+0x131/0x3c0 tipc_node_link_down+0x267/0x4b0 tipc_node_delete_links+0xec/0x160 bearer_disable+0x107/0x260 Take the node write lock around the trace event. This serializes the dump against tipc_node_link_down(delete=true), which frees the link under the same write lock.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|