CVE-2026-64096 in Linuxinfo

Summary

by MITRE • 07/19/2026

In the Linux kernel, the following vulnerability has been resolved:

batman-adv: mcast: fix use-after-free in orig_node RCU release

batadv_mcast_purge_orig() removes entries from RCU-protected hlists but does not wait for an RCU grace period before returning. Concurrent RCU readers may still accesses references to those entries at the point of removal. RCU-protected readers trying to operate on entries like orig->mcast_want_all_ipv6_node will then access already freed memory.

Fix this by moving batadv_mcast_purge_orig() to batadv_orig_node_release(), just before the call_rcu() invocation. This ensures RCU readers that were active at purge time have drained before the orig_node memory is reclaimed.

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 07/19/2026

The vulnerability identified in the Linux kernel represents a critical use-after-free condition within the batman-adv wireless mesh networking module, specifically affecting multicast handling mechanisms. This issue occurs in the batadv_mcast_purge_orig() function which manages the cleanup of multicast entries associated with originator nodes within the mesh network. The flaw arises from improper synchronization between the removal of RCU-protected data structures and the subsequent memory deallocation process.

The technical root cause stems from the function's failure to properly await an RCU grace period before completing its operations. When batadv_mcast_purge_orig() removes entries from RCU-protected hash lists, it does not wait for active RCU readers to finish processing their references to these entries. This creates a race condition where concurrent readers may attempt to access memory locations that have already been freed but not yet fully reclaimed by the system. The specific memory corruption occurs when RCU-protected readers try to operate on entries such as orig->mcast_want_all_ipv6_node, which points to memory that has been deallocated but not yet completely released from the kernel's memory management subsystem.

From a cybersecurity perspective, this vulnerability presents significant operational risks within wireless mesh networks that rely on batman-adv for routing and multicast functionality. The use-after-free condition creates potential attack vectors where malicious actors could exploit the race condition to achieve arbitrary code execution or system crashes. This type of vulnerability aligns with CWE-416, which describes use-after-free conditions, and represents a classic example of improper RCU synchronization that violates fundamental memory safety principles in concurrent systems. The impact extends beyond simple denial of service to potentially enabling privilege escalation or persistent system compromise within mesh network environments.

The proposed fix addresses this vulnerability by repositioning the batadv_mcast_purge_orig() function to execute within the batadv_orig_node_release() context, specifically just before the call_rcu() invocation is made. This strategic placement ensures that all RCU readers that were active at the time of purging have completed their operations and drained their references before the memory associated with the orig_node structure is reclaimed. The solution follows established best practices for RCU synchronization and aligns with ATT&CK technique T1068, which covers local privilege escalation through kernel exploits, by preventing the memory corruption that could enable such attacks.

This remediation approach demonstrates proper kernel memory management principles where resource cleanup operations are properly sequenced with respect to concurrent access patterns. The fix ensures that when call_rcu() is invoked, all previous RCU readers have had sufficient time to complete their operations, thereby eliminating the window of vulnerability where freed memory could be accessed by concurrent processes. This solution maintains the integrity of the mesh networking stack while preserving the essential multicast functionality that batman-adv provides for wireless mesh networks. The implementation follows standard kernel development practices for handling RCU-protected data structures and represents a robust approach to preventing memory safety violations in high-concurrency kernel subsystems.

Responsible

Linux

Reservation

07/19/2026

Disclosure

07/19/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

low

Sources

Want to know what is going to be exploited?

We predict KEV entries!