CVE-2024-26892
📋 TL;DR
This CVE describes a use-after-free vulnerability in the Linux kernel's mt7921e WiFi driver. When removing the driver module (rmmod), the system attempts to access freed memory in the interrupt handler, potentially causing kernel crashes or privilege escalation. Affected systems are those using MediaTek MT7921 WiFi hardware with vulnerable kernel versions.
💻 Affected Systems
- Linux kernel with mt7921e WiFi driver
📦 What is this software?
Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →⚠️ Risk & Real-World Impact
Worst Case
Kernel panic leading to system crash, or potential privilege escalation to kernel mode allowing arbitrary code execution.
Likely Case
System crash or instability when removing the mt7921e driver module, requiring reboot.
If Mitigated
No impact if patch is applied or driver isn't loaded.
🎯 Exploit Status
Requires local access and privileges to remove kernel modules. Triggered during driver removal sequence.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel commits bfe1adf1606f76c180324e53b130f0e76d5cc6c3 and related
Vendor Advisory: https://git.kernel.org/stable/c/bfe1adf1606f76c180324e53b130f0e76d5cc6c3
Restart Required: Yes
Instructions:
1. Update Linux kernel to version containing fixes. 2. For distributions: Use package manager (apt/yum/dnf) to update kernel. 3. Reboot system to load patched kernel.
🔧 Temporary Workarounds
Blacklist mt7921e driver
linuxPrevent loading of vulnerable driver module
echo 'blacklist mt7921e' >> /etc/modprobe.d/blacklist-mt7921e.conf
update-initramfs -u
reboot
Restrict module removal
linuxLimit who can remove kernel modules
echo 'kernel.modules_disabled=1' >> /etc/sysctl.conf
sysctl -p
🧯 If You Can't Patch
- Restrict access to users who can remove kernel modules (CAP_SYS_MODULE capability)
- Monitor for attempts to remove mt7921e driver module
🔍 How to Verify
Check if Vulnerable:
Check if mt7921e module is loaded: lsmod | grep mt7921e. Check kernel version: uname -r and compare with patched versions.
Check Version:
uname -r
Verify Fix Applied:
After update, verify kernel version includes fixes. Check driver loads without issues.
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages
- KASAN use-after-free reports in dmesg
- Failed rmmod attempts for mt7921e
Network Indicators:
- None - local vulnerability
SIEM Query:
search 'mt7921_irq_handler' OR 'use-after-free' in kernel logs
🔗 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
- https://git.kernel.org/stable/c/bfeaef901194c5923ce3330272786eff2fac513a
- https://git.kernel.org/stable/c/c7dd42fbebcfb02bef070fd48f774d6412d0b49d
- https://git.kernel.org/stable/c/c957280ef6ab6bdf559a91ae693a6b34310697e3