Description
In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7915: fix use-after-free bugs in mt7915_mac_dump_work() When the mt7915 pci chip is detaching, the mt7915_crash_data is released in mt7915_coredump_unregister(). However, the work item dump_work may still be running or pending, leading to UAF bugs when the already freed crash_data is dereferenced again in mt7915_mac_dump_work(). The race condition can occur as follows: CPU 0 (removal path) | CPU 1 (workqueue) mt7915_pci_remove() | mt7915_sys_recovery_set() mt7915_unregister_device() | mt7915_reset() mt7915_coredump_unregister() | queue_work() vfree(dev->coredump.crash_data) | mt7915_mac_dump_work() | crash_data-> // UAF Fix this by ensuring dump_work is properly canceled before the crash_data is deallocated. Add cancel_work_sync() in mt7915_unregister_device() to synchronize with any pending or executing dump work.
Affected products
- Linux / Linux4dbcb9125cc3e10a6d879c10e4f5816d05a87c49 – 6d5202409467d621b6d1dfd7fc7dadb997fe66d2
- Linux / Linux4dbcb9125cc3e10a6d879c10e4f5816d05a87c49 – e6856af8a22a8e2cd18241a465ed00c2301b3a5e
- Linux / Linux4dbcb9125cc3e10a6d879c10e4f5816d05a87c49 – 6b7cbb13c838cf2a5f2e7be0e96fe15250087939
- Linux / Linux4dbcb9125cc3e10a6d879c10e4f5816d05a87c49 – 21ce6d867867645fff0ef657be18f61d9f39dcd8
- Linux / Linux4dbcb9125cc3e10a6d879c10e4f5816d05a87c49 – 1146d0946b5358fad24812bd39d68f31cd40cc34
- Linux / Linux6.2 – 6.2
- Linux / Linux0 – 6.2
- Linux / Linux6.6.141 – 6.6.*
- Linux / Linux6.12.91 – 6.12.*
- Linux / Linux6.18.33 – 6.18.*
- Linux / Linux7.0.10 – 7.0.*
- Linux / Linux7.1 – *
References
- MISChttps://git.kernel.org/stable/c/6d5202409467d621b6d1dfd7fc7dadb997fe66d2
- MISChttps://git.kernel.org/stable/c/e6856af8a22a8e2cd18241a465ed00c2301b3a5e
- MISChttps://git.kernel.org/stable/c/6b7cbb13c838cf2a5f2e7be0e96fe15250087939
- MISChttps://git.kernel.org/stable/c/21ce6d867867645fff0ef657be18f61d9f39dcd8
- MISChttps://git.kernel.org/stable/c/1146d0946b5358fad24812bd39d68f31cd40cc34