Cloudanix VulnDB

CVE-2026-80936

High · 7.8

CVSS

7.8

EPSS

0.2%

Published

Sep 11, 2026

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in certain Linux Wi-Fi drivers can let a regular user crash the computer or gain full control by interfering with power-saving features during device shutdown.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Full Compromise
Component
OS kernel
Class
Use After Free
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Failure to cancel a delayed work item (mlo_pm_work) during device teardown leaves a timer that attempts to schedule work on a destroyed workqueue after the mt7925 driver instance is freed, resulting in a use-after-free condition in the kernel workqueue subsystem.

Why it matters to the business

Local users on affected systems can trigger kernel warnings, crashes, or potential privilege escalation, leading to denial of service or full system compromise on Linux devices using mt7925 Wi-Fi hardware.

How an attack unfolds

An attacker with local access triggers multi-link power-save setup to arm the 5-second delayed work, then forces rapid device teardown (e.g., via interface down or driver unload) before the timer fires; the subsequent callback attempts to queue onto the already-released workqueue, causing the use-after-free.

How to fix it

Update to a Linux kernel containing the fix that adds an mt7925 stop callback to cancel mlo_pm_work before calling mt792x_stop; backport the patch to any distribution kernels still shipping the vulnerable mt7925 driver.

How to confirm the fix worked

Confirm the presence of the stop callback that explicitly cancels mlo_pm_work, verify no 'workqueue: cannot queue mt7925_mlo_pm_work' warnings appear during repeated interface up/down cycles, and test that the module can be unloaded cleanly without timer callbacks.

Typical attack path

  1. Obtain local shell or user context on the target Linux system
  2. Trigger mt7925 multi-link power-save setup to queue the delayed work
  3. Force driver or interface teardown within the 5-second window
  4. Trigger the stale timer to execute the freed workqueue callback
  5. Leverage resulting memory corruption for privilege escalation or crash

How to detect it

Search kernel logs and dmesg for 'workqueue: cannot queue mt7925_mlo_pm_work' and 'WARNING: kernel/workqueue.c' entries around mt7925 teardown events; inspect crash dumps for use-after-free signatures in workqueue code paths.

What your security team should do

  • Prioritize kernel updates for all systems exposing mt7925 hardware
  • Restrict local user access on multi-user or shared Linux workstations until patched
  • Monitor kernel logs for workqueue warnings related to mt7925_mlo_pm_work
  • Apply the fix in any custom or downstream kernels before deployment

The record

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7925: cancel mlo_pm_work on stop mt7925 queues mlo_pm_work with a 5 second delay during multi-link power-save setup and never cancels it on the stop path. If the device is torn down inside that window, the work outlives the teardown and its timer fires afterwards, trying to queue onto the workqueue that is already gone: workqueue: cannot queue mt7925_mlo_pm_work [mt7925_common] on wq phy0 WARNING: kernel/workqueue.c:2283 at __queue_work+0x59/0xa0, CPU#1: swapper/1/0 call_timer_fn+0x2a/0x140 __run_timers+0x203/0x330 run_timer_softirq+0x86/0xf0 mt7921 already has its own stop callback, so add one for mt7925 that cancels the work before calling mt792x_stop(). mt7925_ops backs both the PCIe and USB drivers, so this covers both.

Affected packages

Ecosystem Package Introduced Fixed