CVE-2026-64093: batman-adv: tp_meter: directly shut down timer on cleanup
Greg Kroah-Hartman <[email protected]>
| Newsgroups | org.kernel.vger.linux-cve-announce |
|---|---|
| Message-ID | <2026071918-CVE-2026-64093-ea10@gregkh> |
From: Greg Kroah-Hartman <[email protected]> Description =========== 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 The Linux kernel CVE team has assigned CVE-2026-64093 to this issue. Affected and fixed versions =========================== Issue introduced in 4.8 with commit 33a3bb4a3345bb511f9c69c913da95d4693e2a4e and fixed in 5.15.210 with commit 00bf4bb9947b1190a8be8d9b6a1bcbfa3707785c Issue introduced in 4.8 with commit 33a3bb4a3345bb511f9c69c913da95d4693e2a4e and fixed in 6.1.176 with commit 74a76634055462833446684fd526d73c290ea43a Issue introduced in 4.8 with commit 33a3bb4a3345bb511f9c69c913da95d4693e2a4e and fixed in 6.6.143 with commit 5bc2d50fb66b46f86543d5153a188eb1486d0b6e Issue introduced in 4.8 with commit 33a3bb4a3345bb511f9c69c913da95d4693e2a4e and fixed in 6.12.93 with commit f86b20ec8d17d77bddc02c5c86cfa2389d84ecff Issue introduced in 4.8 with commit 33a3bb4a3345bb511f9c69c913da95d4693e2a4e and fixed in 6.18.34 with commit 770bf0a35f0620b526fd4193889d1e77084e4c43 Issue introduced in 4.8 with commit 33a3bb4a3345bb511f9c69c913da95d4693e2a4e and fixed in 7.0.11 with commit 933880a8bc9b4042223a79255c0b1021cdc36991 Issue introduced in 4.8 with commit 33a3bb4a3345bb511f9c69c913da95d4693e2a4e and fixed in 7.1 with commit d5487249a81ea658717614009c8f46acc5b7101a Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-64093 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: net/batman-adv/tp_meter.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/00bf4bb9947b1190a8be8d9b6a1bcbfa3707785c https://git.kernel.org/stable/c/74a76634055462833446684fd526d73c290ea43a https://git.kernel.org/stable/c/5bc2d50fb66b46f86543d5153a188eb1486d0b6e https://git.kernel.org/stable/c/f86b20ec8d17d77bddc02c5c86cfa2389d84ecff https://git.kernel.org/stable/c/770bf0a35f0620b526fd4193889d1e77084e4c43 https://git.kernel.org/stable/c/933880a8bc9b4042223a79255c0b1021cdc36991 https://git.kernel.org/stable/c/d5487249a81ea658717614009c8f46acc5b7101a