{"id":"CVE-2026-98707","title":"wifi: mac80211: shut down RX BA session timer on teardown","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mac80211: shut down RX BA session timer on teardown\n\nTearing down an RX BA session can leave the session timer queued on a\nfreed tid_rx. Later timer-wheel process…","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= a87f736d942c86255e3088c606f0e3eab6bbf784 < 7bb2a5bd4f07192fca35644fab7d49a17bfbc861","Linux >= a87f736d942c86255e3088c606f0e3eab6bbf784 < 481f9230284c27052b59c587069f232c5d84779e","Linux >= a87f736d942c86255e3088c606f0e3eab6bbf784 < 09b7d5e4f88504e62ddf4ff31ebeebb3b87578ba","Linux >= a87f736d942c86255e3088c606f0e3eab6bbf784 < e588e83e5c7a0f6d7a77dbbb58927c8c8cfd598e","Linux 2.6.36"],"published":"2026-10-18","updated":"2026-10-18","sourceUpdated":"2026-10-18T15:46:37.587Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-98707","references":[{"url":"https://git.kernel.org/stable/c/7bb2a5bd4f07192fca35644fab7d49a17bfbc861"},{"url":"https://git.kernel.org/stable/c/481f9230284c27052b59c587069f232c5d84779e"},{"url":"https://git.kernel.org/stable/c/09b7d5e4f88504e62ddf4ff31ebeebb3b87578ba"},{"url":"https://git.kernel.org/stable/c/e588e83e5c7a0f6d7a77dbbb58927c8c8cfd598e"}],"tags":["cve.org"],"ingestedAt":"2026-10-18T16:47:32.513Z","slug":"CVE-2026-98707","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mac80211: shut down RX BA session timer on teardown\n\nTearing down an RX BA session can leave the session timer queued on a\nfreed tid_rx. Later timer-wheel processing and the timer callback itself\nthen run against freed memory.\n\nAn RX BAR handler can dereference tid_rx under RCU before teardown\nunpublishes it and stay in its read-side critical section while teardown\ndeletes the session timer. The stale handler can then rearm the timer\nafter timer_delete_sync() returns and before the RCU callback frees\ntid_rx.\n\nUse timer_shutdown_sync() so rearm attempts become ineffective once\nteardown starts. Keep reorder_timer unchanged: teardown marks the session\nremoved under reorder_lock and its release path checks that state before\nrearming. session_timer has no equivalent guard because\nieee80211_rx_h_ctrl() rearms it before taking reorder_lock.\n\n## Affected\n\n- `Linux >= a87f736d942c86255e3088c606f0e3eab6bbf784 < 7bb2a5bd4f07192fca35644fab7d49a17bfbc861`\n- `Linux >= a87f736d942c86255e3088c606f0e3eab6bbf784 < 481f9230284c27052b59c587069f232c5d84779e`\n- `Linux >= a87f736d942c86255e3088c606f0e3eab6bbf784 < 09b7d5e4f88504e62ddf4ff31ebeebb3b87578ba`\n- `Linux >= a87f736d942c86255e3088c606f0e3eab6bbf784 < e588e83e5c7a0f6d7a77dbbb58927c8c8cfd598e`\n- `Linux 2.6.36`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}