Description
In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: shut down RX BA session timer on teardown Tearing down an RX BA session can leave the session timer queued on a freed tid_rx. Later timer-wheel processing and the timer callback itself then run against freed memory. An RX BAR handler can dereference tid_rx under RCU before teardown unpublishes it and stay in its read-side critical section while teardown deletes the session timer. The stale handler can then rearm the timer after timer_delete_sync() returns and before the RCU callback frees tid_rx. Use timer_shutdown_sync() so rearm attempts become ineffective once teardown starts. Keep reorder_timer unchanged: teardown marks the session removed under reorder_lock and its release path checks that state before rearming. session_timer has no equivalent guard because ieee80211_rx_h_ctrl() rearms it before taking reorder_lock.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
a87f736d942c86255e3088c606f0e3eab6bbf784 to < 225c67a0bea0bd42f568f4842e747bb7f4bafebbaffecteda87f736d942c86255e3088c606f0e3eab6bbf784 to < 18cf74311f3f0bc77384549d270c489f64c6510aaffecteda87f736d942c86255e3088c606f0e3eab6bbf784 to < d0da6ab1fc53a68025929baf0947519c6c1684dcaffecteda87f736d942c86255e3088c606f0e3eab6bbf784 to < 7bb2a5bd4f07192fca35644fab7d49a17bfbc861affecteda87f736d942c86255e3088c606f0e3eab6bbf784 to < 481f9230284c27052b59c587069f232c5d84779eaffecteda87f736d942c86255e3088c606f0e3eab6bbf784 to < 09b7d5e4f88504e62ddf4ff31ebeebb3b87578baaffecteda87f736d942c86255e3088c606f0e3eab6bbf784 to < e588e83e5c7a0f6d7a77dbbb58927c8c8cfd598eaffected
Linux Linux
Default version status: affected
2.6.36affected0 to < 2.6.36unaffected5.15.224 to ≤ 5.15.*unaffected6.1.191 to ≤ 6.1.*unaffected6.6.160 to ≤ 6.6.*unaffected6.12.113 to ≤ 6.12.*unaffected6.18.56 to ≤ 6.18.*unaffected7.2.10 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/225c67a0bea0bd42f568f4842e747bb7f4bafebb ↗
- https://git.kernel.org/stable/c/18cf74311f3f0bc77384549d270c489f64c6510a ↗
- https://git.kernel.org/stable/c/d0da6ab1fc53a68025929baf0947519c6c1684dc ↗
- https://git.kernel.org/stable/c/7bb2a5bd4f07192fca35644fab7d49a17bfbc861 ↗
- https://git.kernel.org/stable/c/481f9230284c27052b59c587069f232c5d84779e ↗
- https://git.kernel.org/stable/c/09b7d5e4f88504e62ddf4ff31ebeebb3b87578ba ↗
- https://git.kernel.org/stable/c/e588e83e5c7a0f6d7a77dbbb58927c8c8cfd598e ↗