CVE-2026-46212
High · 8.8CVSS
8.8
EPSS
0.4%
Published
May 28, 2026
CISA due date
—
Cloudanix analysis
Linux systems using a specific mesh networking feature could be crashed or potentially compromised by someone on the same local network, so exposed devices should be updated or have that feature disabled.
- Exploitation
- Adjacent Network
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- OS kernel
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
This vulnerability is a use-after-free in the Linux kernel batman-adv subsystem, specifically in bridge loop avoidance claim deletion handling. When batadv_bla_del_backbone_claims() removes claims for a backbone, the claim object's reference can be released before the function has finished using the object. A nearby attacker able to interact with the affected batman-adv mesh network could trigger unsafe memory access in kernel context. Because the flaw occurs in the kernel, successful exploitation could plausibly cause denial of service through a kernel crash and, depending on heap state and exploitability conditions, may allow corruption of kernel memory with confidentiality, integrity, and availability impact.
Why it matters to the business
Systems using the Linux kernel batman-adv mesh networking feature may be exposed to unauthenticated attacks from an adjacent network position. Operational consequences can include unexpected host crashes, network disruption, loss of availability for devices participating in mesh networks, and potential deeper compromise if kernel memory corruption is weaponized. The CVSS score is high, but current EPSS is low, the vulnerability is not listed in CISA KEV, and no public exploit maturity is indicated, so organizations should prioritize based on whether batman-adv is enabled or deployed in production, especially in wireless mesh, embedded, industrial, campus, or edge networking environments.
How an attack unfolds
An attacker first needs adjacency to a network where batman-adv traffic is accepted by a vulnerable Linux system. The attacker then sends or manipulates batman-adv bridge loop avoidance traffic in a way that causes backbone claims to be deleted. During claim deletion, the vulnerable code may decrement the final reference to a claim object before all accesses to that object are complete. If the object is freed and subsequently accessed, the kernel may dereference stale memory. In the most common observable outcome, this results in a kernel warning, panic, crash, or loss of networking availability. A more advanced attacker would attempt to shape kernel heap allocation and timing so the freed object is replaced with attacker-influenced data, potentially turning the use-after-free into kernel memory corruption or privilege-impacting behavior. No known KEV listing, ransomware association, named threat actor activity, or mature public exploit is currently indicated for this CVE.
How to fix it
Apply a Linux kernel update that includes the upstream fix for the batman-adv bridge loop avoidance claim deletion use-after-free. Because no exact fixed version was provided in the input, use the fixed kernel packages published by the relevant Linux distribution or kernel vendor for CVE-2026-46212 and reboot into the updated kernel. If immediate patching is not possible, reduce exposure by disabling the batman-adv module where it is not required, preventing automatic module loading, removing systems from untrusted mesh or layer-2 adjacency, restricting access to batman-adv networks, and disabling bridge loop avoidance features if operationally feasible. Kernel live patching may reduce downtime if the vendor provides a live patch, but a reboot is often required to fully replace the vulnerable kernel code path.
How to confirm the fix worked
Confirm remediation by verifying that affected hosts are running a vendor kernel version that includes the fix for CVE-2026-46212. Check the active kernel with uname -r and compare it against the distribution advisory rather than only checking installed package metadata. Verify whether batman-adv is loaded using lsmod or /sys/module/batman_adv, and confirm whether batman-adv interfaces are configured. If mitigation relies on disabling the module, validate that batman_adv is not loaded after reboot and cannot be auto-loaded through modprobe configuration. For exposure validation, inventory systems using batctl, batman-adv interfaces, mesh networking roles, or kernel configurations that include CONFIG_BATMAN_ADV. Where safe and authorized, run non-destructive testing in a lab using the updated kernel to confirm normal batman-adv claim deletion behavior without kernel warnings, KASAN reports, oopses, or panics.
Typical attack path
- Identify Linux systems participating in or reachable over a batman-adv mesh network.
- Confirm that batman-adv and bridge loop avoidance functionality are enabled or that relevant batman-adv traffic is processed.
- Gain adjacent network position, such as access to the same mesh, wireless, layer-2, or virtual network segment.
- Craft or replay batman-adv traffic that influences backbone claim creation and deletion.
- Trigger deletion of backbone claims in the vulnerable code path.
- Cause a stale claim object to be accessed after its reference has been released.
- Observe denial of service through kernel crash or network disruption, or attempt further heap manipulation for deeper kernel memory corruption.
How to detect it
Review kernel logs, persistent journal entries, crash dumps, and monitoring alerts from systems using batman-adv for signs of kernel memory safety failures or crashes around batman-adv bridge loop avoidance activity. Useful sources include dmesg, journalctl -k, /var/log/kern.log, /var/log/messages, /var/log/syslog, kdump/vmcore artifacts, kernel oops reports, KASAN reports, and EDR telemetry that records kernel panics or module activity. Look for repeated node resets, unexpected reboots, interface flaps, mesh instability, or crashes shortly after batman-adv topology or backbone claim changes. Because exploitation occurs at kernel/network level and there are no known public exploit indicators in the input, detection should focus on behavioral evidence: batman_adv module use, suspicious bursts of batman-adv traffic from adjacent peers, kernel use-after-free diagnostics, and crash signatures involving batadv_bla_del_backbone_claims(), batadv_claim_put(), or batadv_claim_release(). Absence of these artifacts does not prove absence of exploitation, especially if kernel logging, crash dumping, or persistent journaling was not enabled.
- batman_adv
- batadv_bla_del_backbone_claims
- batadv_claim_put
- batadv_claim_release
- batadv_claim
- BUG: KASAN: use-after-free
- use-after-free
- kernel BUG
- Oops:
- Kernel panic
- general protection fault
- /sys/module/batman_adv
- /sys/class/net/bat
- CONFIG_BATMAN_ADV
- batctl
- bridge loop avoidance
- bla
What your security team should do
- Prioritize inventory of systems with batman-adv enabled, loaded, or built into the kernel, because systems not using this subsystem are unlikely to be exposed to the vulnerable code path.
- Patch exposed systems with vendor-supplied fixed kernel packages and reboot into the corrected kernel.
- If patching is delayed, disable or block batman-adv on systems that do not explicitly require mesh networking functionality.
- Limit layer-2 and wireless adjacency to trusted participants for networks where batman-adv must remain enabled.
- Monitor kernel logs for use-after-free, KASAN, oops, panic, and batman-adv bridge loop avoidance messages, especially on mesh gateways and backbone nodes.
- Treat unexplained kernel crashes on batman-adv nodes as potentially security-relevant until logs and crash dumps are reviewed.
- Because the vulnerability is not currently in KEV and EPSS is low, prioritize by actual feature exposure rather than by fleet-wide Linux presence alone.
The record
In the Linux kernel, the following vulnerability has been resolved: batman-adv: bla: prevent use-after-free when deleting claims When batadv_bla_del_backbone_claims() removes all claims for a backbone, it does this by dropping the link entry in the hash list. This list entry itself was one of the references which need to be dropped at the same time via batadv_claim_put(). But the batadv_claim_put() must not be done before the last access to the claim object in this function. Otherwise the claim might be freed already by the batadv_claim_release() function before the list entry was dropped.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| openSUSE:Tumbleweed | kernel-source | 0 | 7.0.11-1.1 |
Related vulnerabilities
- CVE-2026-53354 In the Linux kernel, the following vulnerability has been resolved: arm64: errata… Also affects kernel-source
- CVE-2026-53325 In the Linux kernel, the following vulnerability has been resolved: agp/amd64: Fix broken… Also affects kernel-source
- CVE-2026-52946 In the Linux kernel, the following vulnerability has been resolved: fs/fcntl: fix… Also affects kernel-source
- CVE-2026-52907 In the Linux kernel, the following vulnerability has been resolved: media: rockchip… Also affects kernel-source
- CVE-2026-52906 In the Linux kernel, the following vulnerability has been resolved: 9p: fix access mode… Also affects kernel-source
- CVE-2026-52905 In the Linux kernel, the following vulnerability has been resolved: mm/damon/core… Also affects kernel-source
- CVE-2026-52904 In the Linux kernel, the following vulnerability has been resolved: drm/nouveau: fix… Also affects kernel-source
- CVE-2026-46332 In the Linux kernel, the following vulnerability has been resolved: greybus… Also affects kernel-source