CVE-2026-64093 in Linuxinfo

Summary

by MITRE • 07/19/2026

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

batman-adv: tp_meter: directly shut down timer on cleanup

batadv_tp_sender_cleanup() was calling timer_delete_sync() followed by timer_delete() to guard against the timer handler re-arming itself between the two calls. This double-deletion hack relied on the sending status being set to 0 to suppress re-arming.

Replace both calls with a single timer_shutdown_sync(). This function both waits for any running timer callback to complete (like timer_delete_sync()) and permanently disarms the timer so it cannot be re-armed afterwards, making re-arming prevention unconditional and self-documenting.

The re-arming property is also required because otherwise:

1. context 0 (batadv_tp_recv_ack()) checks in batadv_tp_reset_sender_timer() if sending is still 1 -> it is 2. context 1 changes in batadv_tp_sender_shutdown() sending to 0 and in this process forces the kthread to stop timer in batadv_tp_sender_cleanup() 3. context 0 continues in batadv_tp_reset_sender_timer() and rearms the timer -> but the reference for it is already gone

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 07/19/2026

The vulnerability identified in the Linux kernel's batman-adv module represents a race condition scenario within the tp_meter functionality that could lead to improper timer management and potential system instability. This issue specifically affects the batadv_tp_sender_cleanup() function which handles cleanup operations for transmission metering timers. The problem manifests when multiple execution contexts attempt to manipulate the same timer resource simultaneously, creating a scenario where timer re-arming can occur even after cleanup has been initiated.

The technical flaw stems from an inadequate approach to timer cleanup that relied on a fragile double-deletion pattern involving timer_delete_sync() followed by timer_delete(). This method attempted to prevent timer re-arming by setting the sending status to zero as a protective measure, but this approach proved unreliable due to timing dependencies between concurrent contexts. The vulnerability demonstrates poor synchronization practices and highlights the importance of proper atomic operations when managing kernel timer resources.

The operational impact of this vulnerability extends beyond simple resource management issues to potentially creating dangling timer references that could lead to memory corruption or system crashes. When context 0 checks the sending status in batadv_tp_reset_sender_timer() while context 1 is simultaneously modifying the sending flag and attempting cleanup, the race condition allows for timer re-arming despite the cleanup process having begun. This creates a scenario where timer callbacks may execute against freed memory references, leading to undefined behavior and system instability.

The fix implemented addresses this by replacing the unreliable double-deletion approach with a single timer_shutdown_sync() function that provides both synchronization and permanent disarming capabilities. This solution follows established kernel development practices and eliminates the timing-dependent race condition that previously existed. The change ensures that once cleanup is initiated, no timer callback can re-arm the timer, making the prevention mechanism unconditional and self-documenting as specified in the fix description.

This vulnerability aligns with CWE-362 which describes concurrent execution using shared resource vulnerabilities, and relates to ATT&CK technique T1059.006 for system service manipulation through kernel-level operations. The remediation approach demonstrates proper use of kernel synchronization primitives and follows security best practices for preventing race conditions in kernel modules. This fix exemplifies the importance of thorough testing and validation of concurrent code paths in kernel development environments where timing dependencies can lead to serious security implications. The solution maintains backward compatibility while providing stronger guarantees against timer-related race conditions that could be exploited by malicious actors or lead to system instability through improper resource management.

Responsible

Linux

Reservation

07/19/2026

Disclosure

07/19/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Might our Artificial Intelligence support you?

Check our Alexa App!