CVE-2026-52993
NoneCVSS
—
EPSS
0.4%
Published
Jun 24, 2026
CISA due date
—
Cloudanix analysis
A flaw in an optional Linux networking feature could let an attacker crash vulnerable systems if that feature is enabled and reachable.
- Exploitation
- Adjacent Network
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
This is a Linux kernel memory-corruption flaw in the TIPC subsystem. During TIPC buffer reassembly and validation, tipc_msg_validate() can reallocate and free an sk_buff while tipc_buf_append() still tracks an outdated copy of the original pointer. If validation then fails, the error path may free the already-freed skb again, causing a double-free. Practical impact is most likely kernel instability, panic, or denial of service; depending on kernel configuration, allocator state, hardening, and attacker control over heap layout, double-free conditions can sometimes become primitives for privilege escalation or remote code execution. Exposure is limited to systems with TIPC enabled/loaded and reachable over a configured TIPC bearer such as Ethernet or UDP.
Why it matters to the business
A successful attack can crash affected Linux systems or destabilize services that depend on them, causing outages, failed workloads, node reboots, and operational disruption. Because this affects kernel networking code, the blast radius can include infrastructure hosts, appliances, container nodes, and embedded systems where TIPC is enabled. Current public exploitation signals are low: EPSS is 0.00368, it is not listed in CISA KEV, is not marked as ransomware-used, and no exploit maturity is reported; however, kernel memory corruption should still be prioritized on internet-facing, untrusted-network, or high-availability systems. The issue was published 48 days ago, so organizations should expect vendor kernels to be available or in progress even if exact package fixed versions are not listed here.
How an attack unfolds
An attacker first identifies a Linux host with the TIPC kernel module available and an active TIPC bearer reachable from the attacker’s network position. They then send specially crafted TIPC traffic that drives message append, reassembly, and validation logic through the vulnerable path in tipc_buf_append(). During validation, the kernel may reallocate the skb and free the previous buffer, but the later failure-handling path can attempt to free the stale original pointer again. The immediate outcome is typically a kernel oops, panic, or networking subsystem crash. A more sophisticated attacker would try to shape kernel heap state before triggering the double-free to convert the memory corruption into stronger control, but no public mature exploit is indicated by the supplied data.
How to fix it
Apply a vendor-supplied Linux kernel update that includes the upstream TIPC fix for tipc_buf_append() pointer handling. Because no exact fixed package versions were provided, use the fixed kernel advisory from the relevant distribution, appliance vendor, cloud image provider, or embedded Linux supplier. Reboot into the patched kernel and remove older vulnerable kernels where operationally feasible. If immediate patching is not possible, reduce exposure by disabling TIPC where it is not required, preventing automatic loading of the tipc module, removing TIPC bearer configuration, and blocking TIPC traffic at network boundaries. Restrict UDP-based TIPC to trusted hosts only and block native TIPC Ethernet traffic on untrusted Layer 2 segments. Treat mitigation as temporary; kernel replacement remains the durable fix.
How to confirm the fix worked
Confirm the system is running a kernel build that contains the TIPC fix from the relevant vendor advisory, not merely that an updated package is installed. Validate with uname -a, package manager kernel version checks, and a reboot verification step. Check whether TIPC is present or active by looking for the tipc module in lsmod, /proc/modules, or modinfo, and by reviewing TIPC bearer configuration with the tipc utility where available. Validate mitigation by confirming TIPC is not loaded or that TIPC bearers are removed on systems that do not need it. Network validation should confirm that UDP TIPC traffic, commonly associated with port 6118 when UDP bearer mode is used, and native Ethernet TIPC traffic are blocked from untrusted networks. For high-assurance environments, perform controlled negative testing with approved tooling only after patching to confirm malformed TIPC traffic no longer causes kernel instability.
Typical attack path
- Find Linux systems where TIPC is enabled, loaded, or configured for Ethernet or UDP bearers.
- Confirm network reachability to the TIPC bearer from an adjacent network, routed UDP path, or other accessible segment.
- Send malformed or intentionally fragmented TIPC messages that exercise buffer append and reassembly behavior.
- Trigger tipc_msg_validate() to reallocate/free the skb and then fail validation.
- Cause tipc_buf_append() error handling to free the stale skb pointer a second time.
- Achieve denial of service through a kernel crash or, in more advanced scenarios, attempt to manipulate heap state for further exploitation.
How to detect it
Look for evidence of attempted or successful exploitation in kernel logs, crash dumps, network telemetry, and host configuration history. Primary log sources include dmesg, journalctl -k, /var/log/kern.log, /var/log/messages, /var/log/syslog, kdump/vmcore artifacts, hypervisor reset events, and EDR telemetry that captures kernel panics or module activity. Indicators include kernel oops or panic events shortly after TIPC traffic, allocator corruption or double-free reports, KASAN/KFENCE/slab warnings, and stack traces referencing tipc_buf_append(), tipc_msg_validate(), skb freeing, or TIPC reassembly. Network teams should review flow logs, packet captures, IDS telemetry, and firewall logs for unexpected UDP TIPC traffic, especially UDP port 6118 where UDP bearer mode is used, or native Ethernet TIPC traffic on untrusted Layer 2 segments. Because failed exploitation may only cause a crash, correlate unexplained reboots or node failures with preceding TIPC network traffic and module load events. There are no supplied named threat actors or campaign-specific indicators, so detections should focus on behavioral artifacts rather than attacker infrastructure.
- tipc_buf_append
- tipc_msg_validate
- BUG: KASAN: double-free
- KASAN: double-free
- double free
- kernel BUG
- kernel panic
- Oops:
- general protection fault
- slab: double free
- freeing already-free
- skb_release_data
- kfree_skb
- TIPC
- tipc
- udp/6118
- UDP 6118
- EtherType 0x88ca
- /proc/modules
- /sys/module/tipc
What your security team should do
- Inventory Linux systems for TIPC exposure, prioritizing hosts where the tipc kernel module is loaded or TIPC bearers are configured.
- Patch exposed or high-availability systems first, especially infrastructure nodes, appliances, virtualization/container hosts, and systems reachable from untrusted networks.
- Where TIPC is not required, disable or blacklist the tipc module and remove TIPC bearer configuration.
- Filter TIPC traffic at network boundaries and restrict UDP TIPC traffic to explicitly trusted peers only.
- Monitor kernel logs for crashes, oops messages, allocator corruption, KASAN reports, and stack traces involving tipc_buf_append or tipc_msg_validate.
- Review network telemetry for unexpected UDP traffic to TIPC services or native TIPC Ethernet traffic from untrusted segments.
- Because public exploitation indicators are currently low and it is not in KEV, align patch urgency with exposure, but do not defer remediation on reachable or business-critical Linux systems.
The record
In the Linux kernel, the following vulnerability has been resolved: tipc: fix double-free in tipc_buf_append() tipc_msg_validate() can potentially reallocate the skb it is validating, freeing the old one. In tipc_buf_append(), it was being called with a pointer to a local variable which was a copy of the caller's skb pointer. If the skb was reallocated and validation subsequently failed, the error handling path would free the original skb pointer, which had already been freed, leading to double-free. Fix this by checking if head now points to a newly allocated reassembled skb. If it does, reassign *headbuf for later freeing operations.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|