CVE-2026-93204: batman-adv: dat: atomically update mac addresses
In the Linux kernel, the following vulnerability has been resolved:
batman-adv: dat: atomically update mac addresses
When a MAC address is updated in batadvdatentryadd(), it is done using a simple copy function. A parallel reader might only see parts of this update. In worst case, the reader is transporting the half updated MAC address over the network or is creating an ARP response using it - poisoning the ARP cache.
atomic64t can be used to store the 48 bit of a mac address. A reader will then either see the old mac address or the new one - never a mixture of both.
Event History
Frequently Asked Questions
Who is exposed to this race condition?
Systems using the Linux kernel's batman-adv component and its distributed ARP table functionality are exposed when a MAC address can be updated while another execution path reads it.
What can happen if the issue is triggered?
A concurrent reader can observe a partially updated MAC address. That mixed address may be sent over the network or used to create an ARP response, potentially poisoning an ARP cache.
Does exploitation require an attacker to read a partially updated entry at a specific time?
Yes. The described failure depends on a parallel reader accessing the MAC address while batadv_dat_entry_add() is updating it.
What is the remediation described by the fix?
The fix stores the 48-bit MAC address in an atomic64_t so readers receive either the complete old address or the complete new address, rather than a mixture of both.