Skip to main content
← All vulnerabilities
CVE-2026-99060EUVD-2026-108726GHSA-88MV-32MF-F27J

wifi: mt76: mt7603: initialize global station WCID

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.6.160, 6.12.113, 6.18.57, 7.2.11
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7603: initialize global station WCID mt7603 uses a driver-private global station WCID for frames that have neither a station nor a vif, including frames injected through a monitor interface. Unlike the core global WCID initialized by mt76_register_device(), this WCID is published without ever being passed to mt76_wcid_init(). Since commit 0335c034e726 ("wifi: mt76: fix race condition related to checking tx queue fill status"), mt76_tx() queues every such frame on the WCID's tx_pending or tx_offchannel queue and links its tx_list. The first injected frame therefore reaches __skb_queue_tail() with an uninitialized sk_buff_head and dereferences a NULL prev pointer. Initialize the WCID before publishing it. The fix was tested on an MT7603 PCIe device. Three wildcard probe requests were injected through a monitor interface. The hardware queue head and tail advanced from 0 to 3 and a second radio captured the third request over the air. No oops or reset occurred. After restoring AP mode, a 150 MB transfer also completed without a reset.

Timeline

  1. CVE published
  2. First seen by cve.now

Affected versions

  • Linux Linux

    From d2defcddfe90b3be0cfccc2482495ab1fb759586 · fixed in 99b8bd6323e6fc69615af828522878b7acb77bff; From 0335c034e7265d36d956e806f33202c94a8a9860 · fixed in e454ec553996f21085657c96c8a605e2d89a81a6; From 0335c034e7265d36d956e806f33202c94a8a9860 · fixed in dd117d17e8aa2e89f857fb708e5b770709fb81cb; From 0335c034e7265d36d956e806f33202c94a8a9860 · fixed in 19d6fa087dcf242223645828b8282d4040bad168; From 0335c034e7265d36d956e806f33202c94a8a9860 · fixed in 456de496b53ae73e6e3020fec815dbdc88aa7c07; From 6.6.48 · fixed in 6.6.160

  • Linux Linux

    6.7

  • KernelLinux

    fixed in 6.6.160; From 6.7.0 · fixed in 6.12.113; fixed in 6.18.57; From 6.13.0 · fixed in 7.2.11

References 5

git.kernel.org