CVE-2024-26892·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7921e: fix use-after-free in free_irq() From commit a304e1b82808 ("[PATCH] Debug shared irqs"), there is a test to make sure the shared irq handler should be able to handle the unexpected event after deregistration. For this case, let's apply MT76_REMOVED flag to indicate the device was removed and do not run into the resource access anymore. BUG: KASAN: use-after-free in mt7921_irq_handler+0xd8/0x100 [mt7921e] Read of size 8 at addr ffff88824a7d3b78 by task rmmod/11115 CPU: 28 PID: 11115 Comm: rmmod Tainted: G W L 5.17.0 #10 Hardware name: Micro-Star International Co., Ltd. MS-7D73/MPG B650I EDGE WIFI (MS-7D73), BIOS 1.81 01/05/2024 Call Trace: <TASK> dump_stack_lvl+0x6f/0xa0 print_address_description.constprop.0+0x1f/0x190 ? mt7921_irq_handler+0xd8/0x100 [mt7921e] ? mt7921_irq_handler+0xd8/0x100 [mt7921e] kasan_report.cold+0x7f/0x11b ? mt7921_irq_handler+0xd8/0x100 [mt7921e] mt7921_irq_handler+0xd8/0x100 [mt7921e] free_irq+0x627/0xaa0 devm_free_irq+0x94/0xd0 ? devm_request_any_context_irq+0x160/0x160 ? kobject_put+0x18d/0x4a0 mt7921_pci_remove+0x153/0x190 [mt7921e] pci_device_remove+0xa2/0x1d0 __device_release_driver+0x346/0x6e0 driver_detach+0x1ef/0x2c0 bus_remove_driver+0xe7/0x2d0 ? __check_object_size+0x57/0x310 pci_unregister_driver+0x26/0x250 __do_sys_delete_module+0x307/0x510 ? free_module+0x6a0/0x6a0 ? fpregs_assert_state_consistent+0x4b/0xb0 ? rcu_read_lock_sched_held+0x10/0x70 ? syscall_enter_from_user_mode+0x20/0x70 ? trace_hardirqs_on+0x1c/0x130 do_syscall_64+0x5c/0x80 ? trace_hardirqs_on_prepare+0x72/0x160 ? do_syscall_64+0x68/0x80 ? trace_hardirqs_on_prepare+0x72/0x160 entry_SYSCALL_64_after_hwframe+0x44/0xae
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.8.2
- Published
- 2024-04-17
Affected versions
From: 6.8
Until: 6.8.2
Fixed in: 6.8.2
How to fix this CVE
Update your Linux kernel to version 6.8.2 or later to resolve a use-after-free vulnerability in the MT7921E WiFi driver that could crash the system during device removal. This issue occurs when the interrupt handler attempts to access device resources after they have been freed, which can be triggered by unloading the driver module. Apply the patch immediately using your distribution's kernel update mechanism.
sudo dnf update kernel kernel-headersDefensia detects this vulnerability
How to check if you are affected
- Check your kernel version by running: uname -r
- Verify if MT7921E WiFi driver is loaded: lspci -k | grep -i mt7921 or lsmod | grep mt7921
- Search system logs for use-after-free errors related to mt7921_irq_handler: sudo grep -i 'use-after-free\|mt7921_irq_handler\|KASAN' /var/log/kern.log
- After updating, confirm the new kernel version: uname -r (should be 6.8.2 or higher)
FAQ
What is CVE-2024-26892?
CVE-2024-26892 is a use-after-free vulnerability in the Linux kernel's MT7921E WiFi driver that occurs when the interrupt handler tries to access device memory after the device has been removed. This can cause a kernel panic or system crash when unloading the driver.
Is CVE-2024-26892 being actively exploited?
No, this vulnerability is not listed in the CISA KEV catalog and has no known public exploits. However, it can be triggered locally by any user with the ability to unload kernel modules.
What versions of Kernel are affected by CVE-2024-26892?
Kernel versions 6.8 through 6.8.1 are affected. The vulnerability was fixed in version 6.8.2.
How do I check if my server is vulnerable to CVE-2024-26892?
Run 'uname -r' and check if the output is between 6.8 and 6.8.1, then verify MT7921E driver is present with 'lspci -k | grep mt7921'. If both conditions are true, your system is vulnerable.
Does Defensia detect CVE-2024-26892?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Kernel is installed on a monitored server, CVE-2024-26892 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/bfe1adf1606f76c180324e53b130f0e76d5cc6c3
- https://git.kernel.org/stable/c/bfeaef901194c5923ce3330272786eff2fac513a
- https://git.kernel.org/stable/c/c7dd42fbebcfb02bef070fd48f774d6412d0b49d
- https://git.kernel.org/stable/c/c957280ef6ab6bdf559a91ae693a6b34310697e3
- https://git.kernel.org/stable/c/bfe1adf1606f76c180324e53b130f0e76d5cc6c3
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-26892. Free for 1 server.
Get started free