CVE-2026-64093
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Summary
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:
- context 0 (batadv_tp_recv_ack()) checks in batadv_tp_reset_sender_timer() if sending is still 1 -> it is
- 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()
- context 0 continues in batadv_tp_reset_sender_timer() and rearms the timer -> but the reference for it is already gone
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 33a3bb4a3345bb511f9c69c913da95d4693e2a4e < 00bf4bb9947b1190a8be8d9b6a1bcbfa3707785c | affected |
| Linux | Linux | 33a3bb4a3345bb511f9c69c913da95d4693e2a4e < 74a76634055462833446684fd526d73c290ea43a | affected |
| Linux | Linux | 33a3bb4a3345bb511f9c69c913da95d4693e2a4e < 5bc2d50fb66b46f86543d5153a188eb1486d0b6e | affected |
| Linux | Linux | 33a3bb4a3345bb511f9c69c913da95d4693e2a4e < f86b20ec8d17d77bddc02c5c86cfa2389d84ecff | affected |
| Linux | Linux | 33a3bb4a3345bb511f9c69c913da95d4693e2a4e < 770bf0a35f0620b526fd4193889d1e77084e4c43 | affected |
| Linux | Linux | 33a3bb4a3345bb511f9c69c913da95d4693e2a4e < 933880a8bc9b4042223a79255c0b1021cdc36991 | affected |
| Linux | Linux | 33a3bb4a3345bb511f9c69c913da95d4693e2a4e < d5487249a81ea658717614009c8f46acc5b7101a | affected |
| Linux | Linux | 4.8 | affected |
| Linux | Linux | 0 < 4.8 | unaffected |
| Linux | Linux | 5.15.210 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.176 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.143 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.93 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.34 <= 6.18.* | unaffected |
| Linux | Linux | 7.0.11 <= 7.0.* | unaffected |
| Linux | Linux | 7.1 <= * | unaffected |
Weaknesses
References
- 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
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.