CVE-2026-52934
High · 8.8CVSS
8.8
EPSS
0.2%
Published
Jun 24, 2026
CISA due date
—
Cloudanix analysis
Some Linux systems using mesh networking can be crashed or potentially compromised by malformed networking conditions unless they are updated.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- High
- Impact
- Privilege Gain
- Component
- OS kernel
- Class
- Other
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
This vulnerability is an integer overflow in the Linux kernel batman-adv TVLV handling path. The vulnerable code calculates the total size of registered TVLV containers using a 16-bit accumulator; when the sum exceeds 65,535 bytes, the value wraps, causing an undersized allocation. A subsequent copy operation can then write past the end of the allocated kernel buffer, corrupting kernel memory. Depending on kernel configuration, memory layout, and attacker control over the copied data, the likely technical outcomes range from kernel crash and denial of service to potential privilege escalation or code execution in kernel context. Exposure is limited to systems where the batman-adv kernel module is present, enabled, and used for B.A.T.M.A.N. Advanced mesh networking.
Why it matters to the business
Organizations using Linux systems for wireless mesh, embedded networking, IoT gateways, routers, community mesh nodes, or specialized network appliances could experience unexpected kernel crashes or device instability if this flaw is triggered. In higher-risk scenarios, kernel memory corruption may allow deeper system compromise. The currently reported exploitation maturity is none, EPSS is low, and it is not listed in CISA KEV or ransomware-associated KEV data, so urgency is lower than for actively exploited vulnerabilities; however, internet- or mesh-adjacent network infrastructure should still be patched during the next appropriate maintenance window because kernel memory corruption bugs can become more serious if exploit techniques are developed.
How an attack unfolds
An attacker first identifies a Linux system that has batman-adv enabled and participates in a B.A.T.M.A.N. Advanced mesh or related network segment. The attacker then attempts to influence the TVLV container state or traffic conditions so that the kernel constructs an outgoing TVLV section whose accumulated container length exceeds the 16-bit maximum. On a vulnerable kernel, the length calculation wraps to a smaller value, leading the kernel to allocate a buffer that is too small. When batman-adv appends the TVLV containers, it copies more data than the allocation can hold, overwriting adjacent kernel memory. The immediate and most probable result is a kernel oops, panic, or networking subsystem crash; with sufficient control over layout and contents, the memory corruption could potentially be shaped into more severe compromise. Exploitation is expected to require batman-adv reachability or local influence over batman-adv state rather than ordinary remote access to unrelated services.
How to fix it
Upgrade to a Linux kernel or vendor-maintained kernel package that includes the upstream batman-adv fix: widening the TVLV container size calculation to size_t and rejecting TVLV sections larger than U16_MAX before allocation and copy. Because no exact fixed package versions were provided, use the relevant Linux distribution, appliance vendor, or kernel vendor advisory to identify the corrected version for each platform. Where immediate patching is not possible, reduce exposure by disabling batman-adv if it is not required, unloading or blacklisting the batman-adv module, disabling unused mesh interfaces, and restricting access to B.A.T.M.A.N. Advanced mesh segments to trusted nodes only. For embedded or appliance deployments, obtain firmware images that incorporate a fixed kernel rather than attempting partial user-space mitigations.
How to confirm the fix worked
Confirm whether the system is exposed by checking if the batman-adv module is loaded or available, for example with lsmod, modinfo batman-adv, /sys/module/batman_adv, distribution package inventory, and network interface configuration showing batadv or B.A.T.M.A.N. Advanced use. Validate remediation by confirming the running kernel build includes the vendor fix for this issue, not merely that the package is installed but pending reboot. After updating, reboot into the fixed kernel and verify with uname -a, package manager history, and vendor advisory version mapping. Confirm that batman-adv is disabled or unloaded on systems where it is not needed. Avoid attempting to reproduce the overflow in production because successful triggering may crash the kernel.
Typical attack path
- Identify Linux hosts, routers, embedded devices, or mesh nodes using the batman-adv kernel module.
- Gain access to the relevant Layer 2 mesh network or another position that can influence batman-adv TVLV behavior.
- Trigger conditions that cause the victim to build a TVLV section larger than 65,535 bytes.
- Rely on the vulnerable 16-bit length calculation to wrap and produce an undersized kernel allocation.
- Cause the subsequent copy operation to write beyond the allocated buffer.
- Achieve denial of service through kernel crash, or attempt further exploitation of kernel memory corruption if feasible.
How to detect it
To determine whether exploitation may already have occurred, review kernel logs, persistent journal entries, crash dumps, and network device logs on systems using batman-adv. Relevant sources include journalctl -k, /var/log/kern.log, /var/log/messages, /var/log/syslog, pstore/ramoops records, kdump/vmcore artifacts, appliance crash logs, and monitoring alerts for kernel panics or unexpected reboots. Look for batman-adv activity shortly before a crash, kernel oops or panic entries involving batadv TVLV functions, slab or heap corruption warnings, KASAN reports, general protection faults, use-after-free or out-of-bounds write reports, and sudden mesh interface resets. Network telemetry may show unusual B.A.T.M.A.N. Advanced control traffic, unexpected mesh peers, or abnormal topology churn before instability. There are no public threat actors, malware campaigns, or stable exploit-specific payload signatures provided for this CVE, so detection should focus on exposed-system crash forensics and anomalous batman-adv behavior rather than a single definitive IOC.
- batman-adv
- batman_adv
- batadv
- batadv_tvlv_container_ogm_append
- batadv_tvlv_container_list_size
- kernel: BUG:
- kernel: Oops:
- kernel panic
- general protection fault
- KASAN:
- slab-out-of-bounds
- Out of bounds write
- /sys/module/batman_adv
- /sys/class/net/bat0
- /sys/kernel/debug/batman_adv
- /var/crash
- /sys/fs/pstore
What your security team should do
- Inventory Linux systems, network appliances, embedded devices, and mesh nodes for batman-adv usage or the loaded batman-adv kernel module.
- Prioritize patching for systems that actively participate in B.A.T.M.A.N. Advanced mesh networks or are reachable by untrusted mesh peers.
- Apply the vendor-provided fixed kernel or firmware and reboot into the corrected version.
- Disable, unload, or blacklist batman-adv on systems that do not require mesh networking functionality.
- Restrict mesh network participation to trusted devices and monitor for unexpected peers or topology changes.
- Review kernel logs for recent crashes, oops messages, slab corruption, or batman-adv errors that could indicate attempted triggering.
- Track vendor advisories for exact fixed kernel package versions because affected and fixed versions are distribution-specific.
- Treat unexplained kernel panics on exposed mesh nodes as potentially security-relevant until logs and crash artifacts are reviewed.
The record
In the Linux kernel, the following vulnerability has been resolved: batman-adv: tvlv: reject oversized TVLV packets batadv_tvlv_container_ogm_append() builds a TVLV packet section from the tvlv.container_list. The total size of this section is computed by batadv_tvlv_container_list_size(), which sums the sizes of all registered containers. The return type and accumulator in batadv_tvlv_container_list_size() were u16. If the accumulated size exceeds U16_MAX, the value wraps around, causing the subsequent allocation in batadv_tvlv_container_ogm_append() to be undersized. The memcpy-style copy that follows would then write beyond the end of the allocated buffer, corrupting kernel memory. Fix this by widening the return type of batadv_tvlv_container_list_size() to size_t. In batadv_tvlv_container_ogm_append(), check the computed length against U16_MAX before proceeding, and bail out as if the allocation had failed when the limit is exceeded.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|