CVE-2026-53098
Beschrijving NL
In de Linux kernel is de volgende kwetsbaarheid verholpen:
wifi: mt76: mt7915: fix use-after-free bugs in mt7915_mac_dump_work()
Wanneer de mt7915 pci-chip wordt losgemaakt, wordt de mt7915_crash_data
vrijgegeven in mt7915_coredump_unregister(). Het werkitem
dump_work is mogelijk nog steeds actief of in behandeling, wat leidt tot UAF-bugs
wanneer de reeds bevrijde crash_data opnieuw wordt gederefereerd in
mt7915_mac_dump_work(). De raceconditie kan als volgt optreden:
CPU 0 (verwijderingspad) | CPU 1 (werkvoorraad)
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
Los dit op door ervoor te zorgen dat dump_work op de juiste manier wordt geannuleerd vóór
de crash_data is gedealloceerd. Voeg cancel_work_sync() toe in
mt7915_unregister_device() om te synchroniseren met wachtende
of het uitvoeren van stortwerkzaamheden.
Origineel (Engels) tonen
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.