CVE-2026-53101: Linux MT7921 Wi-Fi Driver Deadlock Vulnerability
A deadlock vulnerability exists in the Linux kernel's MT7921 Wi-Fi driver that can freeze the system during Wi-Fi station removal. When the driver attempts to safely stop a background work queue, it can become stuck waiting for that work queue to finish—but the work queue itself is blocked trying to acquire a lock that the waiting code already holds. This creates a mutual deadlock where neither side can proceed. The issue occurs specifically when removing a Wi-Fi station connection, a routine operation that could be triggered by normal device management or user actions.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 5.5 MEDIUM · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- Weaknesses (CWE)
- CWE-667
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-06-24 / 2026-07-21
NVD description (verbatim)
In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7921: fix potential deadlock in mt7921_roc_abort_sync roc_abort_sync() can deadlock with roc_work(). roc_work() holds dev->mt76.mutex, while cancel_work_sync() waits for roc_work() to finish. If the caller already owns the same mutex, both sides block and no progress is possible. This deadlock can occur during station removal when mt76_sta_state() -> mt76_sta_remove() -> mt7921_mac_sta_remove() -> mt7921_roc_abort_sync() invokes cancel_work_sync() while roc_work() is still running and holding dev->mt76.mutex. This avoids the mutex deadlock and preserves exactly-once work ownership.
4 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-53101 is a deadlock vulnerability in the MT7921 Wi-Fi driver (drivers/net/wireless/mediatek/mt76/mt7921) within the Linux kernel. The vulnerability arises from improper synchronization in the mt7921_roc_abort_sync() function. When this function calls cancel_work_sync() on the roc_work() queue, it can deadlock if the caller already holds dev->mt76.mutex. The call chain mt76_sta_state() → mt76_sta_remove() → mt7921_mac_sta_remove() → mt7921_roc_abort_sync() triggers this scenario during station teardown. The roc_work() function holds the same mutex, causing cancel_work_sync() to wait indefinitely for the work to complete while the work queue waits to acquire the held mutex. This is classified as a synchronization/locking failure (CWE-667). The vulnerability has been resolved by refactoring the abort logic to avoid the mutex deadlock while maintaining exactly-once work ownership semantics.
Business impact
This vulnerability can cause system hangs or Wi-Fi interface freezes during routine operations such as disconnecting from a network, removing a station entry, or device hotplug events. On affected systems—particularly laptops and mobile devices relying on MT7921 Wi-Fi chipsets—users may experience unresponsive Wi-Fi interfaces requiring a reboot or driver reload to recover. For enterprise deployments, this can disrupt device management, fleet updates, or seamless roaming scenarios. The impact is localized to availability (denial of service) with no data confidentiality or integrity compromise.
Affected systems
The vulnerability affects Linux kernel systems equipped with Mediatek MT7921 Wi-Fi chipsets. This includes certain laptop models, embedded Linux devices, and development boards that use this Wi-Fi adapter. The vulnerability applies to kernel versions that contain the vulnerable code path; patched versions resolve the issue. Affected users should verify their kernel version and Wi-Fi hardware against the vendor advisory to determine applicability.
Exploitability
Exploitation requires local access to the system (AV:L) and no special privileges beyond a standard user account (PR:L). The condition can be triggered through normal Wi-Fi operations—namely station removal or disconnection—without user interaction (UI:N). While not remotely exploitable, the low barrier to local triggering means any local user can cause the denial-of-service condition. The attack surface is substantial on multi-user or shared systems, and moderate on single-user devices where the user themselves might inadvertently trigger the hang.
Remediation
The fix involves refactoring mt7921_roc_abort_sync() to avoid acquiring or holding dev->mt76.mutex during cancel_work_sync(), breaking the circular lock dependency. The corrected implementation preserves the guarantee that the ROC (Remain-on-Channel) work is executed and cleaned up exactly once. System administrators should apply kernel updates that include the fix to this driver. For systems unable to immediately patch, workarounds such as disabling the MT7921 driver (if alternative Wi-Fi hardware is available) or minimizing frequent station state changes may reduce exposure.
Patch guidance
Apply the latest stable kernel release that includes the fix to drivers/net/wireless/mediatek/mt76/mt7921. Verify the applied patch against the official Linux kernel repository and your distribution's advisory. Test the patch in a non-production environment first, particularly on devices relying on this Wi-Fi adapter as their primary network interface. Check with your device vendor (laptop, router, or embedded device manufacturer) for distribution-specific kernel updates that may incorporate this fix alongside other platform-specific patches.
Detection guidance
Monitor system logs for hung worker threads or mutex timeout warnings related to mt7921 or the mt76 driver. Check for repeated Wi-Fi disconnections, unresponsive Wi-Fi interfaces, or kernel lockdep warnings mentioning the roc_work or mt7921_roc_abort_sync functions. On affected systems, use 'dmesg' or journalctl to search for deadlock-related messages. System administrators can enable kernel lockdep debugging (CONFIG_DEBUG_LOCKDEP=y) in development/test environments to catch the deadlock condition before it impacts production.
Why prioritize this
This vulnerability should be prioritized for patching on systems where the MT7921 Wi-Fi driver is in active use, particularly in environments where Wi-Fi reliability is critical or where frequent station state changes occur. While the CVSS score of 5.5 (Medium) reflects local-only accessibility, the ease of triggering (routine Wi-Fi operations) and the impact on availability (complete Wi-Fi freeze) justify prompt remediation. Organizations with fleet management or automated device enrollment processes should prioritize patching to prevent service disruptions during normal Wi-Fi operations.
Risk score, explained
The CVSS 3.1 score of 5.5 reflects a Medium severity vulnerability. Attack vector (Local) and privileges required (Low) limit remote exploitation but show broad local exposure. The lack of confidentiality or integrity impact (C:N, I:N) is offset by high availability impact (A:H), as the deadlock completely denies Wi-Fi service on affected systems. Scope (Unchanged) indicates the impact is confined to the vulnerable component. The score appropriately reflects a disruptive but contained issue that warrants timely patching without emergency escalation.
Frequently asked questions
Can this vulnerability be exploited remotely?
No. The vulnerability requires local access to the system (AV:L) and cannot be triggered over the network. It manifests only through local Wi-Fi operations such as disconnecting or removing a station.
Does this affect all Linux Wi-Fi drivers?
No. The vulnerability is specific to the Mediatek MT7921 Wi-Fi driver. Other Wi-Fi drivers and chipsets are not affected. Verify whether your system uses an MT7921 adapter before assuming vulnerability.
What happens if the deadlock occurs?
The Wi-Fi interface becomes unresponsive and frozen. Network traffic halts, and the system may require a reboot or manual driver reload to restore connectivity. No data corruption occurs, but availability is severely impacted.
Is there a workaround if I cannot patch immediately?
Minimize frequent Wi-Fi disconnections and station state changes. If your system has alternative network connectivity (Ethernet), prioritize that. As a last resort on test systems, disabling the MT7921 driver may prevent the hang, though Wi-Fi will be unavailable.
This analysis is based on published CVE data and the Linux kernel vulnerability description current as of the publication date. Actual affected versions, patch availability, and remediation guidance may vary by Linux distribution. Organizations should verify applicability against their specific kernel versions and hardware configurations, consult official vendor advisories, and test patches in non-production environments before deployment. SEC.co provides this information for informational purposes and does not guarantee completeness or applicability to your environment. Source: NVD (public-domain), retrieved 2026-08-01. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-46156MEDIUMLinux Kernel Loongson GPU Driver ADE Panic on Loongarch
- CVE-2026-46165MEDIUMLinux Kernel Open vSwitch Vport Deadlock Denial of Service
- CVE-2026-46223MEDIUMLinux Kernel Cgroup Deadlock During Container Teardown
- CVE-2026-46252MEDIUMLinux Kernel Regulator Locking Vulnerability
- CVE-2026-46256MEDIUMLinux NFS LOCALIO Recursion Deadlock Vulnerability
- CVE-2026-46262MEDIUMLinux Kernel fsl_xcvr Audio Driver Deadlock Vulnerability
- CVE-2026-52979MEDIUMLinux Kernel PSP Device Unregister Race Condition Denial of Service
- CVE-2026-53035MEDIUMLinux Kernel eBPF Socket Map Deadlock DoS Vulnerability