CVE-2026-64325: wifi: mt76: mt7921/mt7925: fix NULL dereference in CSA beacon

Greg Kroah-Hartman <[email protected]> Sat, 25 Jul 2026 10:49:02 +0200
Newsgroups org.kernel.vger.linux-cve-announce
Message-ID <2026072512-CVE-2026-64325-7fc9@gregkh>
From: Greg Kroah-Hartman <[email protected]>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

wifi: mt76: mt7921/mt7925: fix NULL dereference in CSA beacon

This patch is based on a BUG as reported by Bongani Hlope at
https://lore.kernel.org/all/[email protected]/

When a channel-switch announcement (CSA) beacon is received,
cfg80211 queues a wiphy work item that eventually calls
mt7921_channel_switch_rx_beacon(). If the station disconnects
(or the channel context is otherwise torn down) between the
time the work is queued and the time it runs, the driver's
dev->new_ctx pointer can already have been cleared to NULL.
mt7921_channel_switch_rx_beacon() then dereferences new_ctx
unconditionally, triggering a NULL pointer dereference at
address 0x0:

  BUG: kernel NULL pointer dereference, address: 0000000000000000
  RIP: 0010:mt7921_channel_switch_rx_beacon+0x1f/0x100 [mt7921_common]

The same missing guard exists in mt7925_channel_switch_rx_beacon(),
which shares the same code pattern introduced by the same commit.

Add an early-return NULL check for dev->new_ctx in both
mt7921_channel_switch_rx_beacon() and
mt7925_channel_switch_rx_beacon(). When new_ctx is NULL there is
no pending channel switch to process, so returning immediately is
the correct and safe action.

Oops-Analysis: http://oops.fenrus.org/reports/lkml/[email protected]/report.html

The Linux kernel CVE team has assigned CVE-2026-64325 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 6.14 with commit 8aa2f59260eb66fc80378c158922ccb741ccc491 and fixed in 7.1.4 with commit 77e7b127472a191e086e1e0b1b051703f33b1801
	Issue introduced in 6.14 with commit 8aa2f59260eb66fc80378c158922ccb741ccc491 and fixed in 7.2-rc1 with commit 351dd7d2c80d23e56dcce6faa4e62bea5b0877c7

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-64325
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	drivers/net/wireless/mediatek/mt76/mt7921/main.c
	drivers/net/wireless/mediatek/mt76/mt7925/main.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/77e7b127472a191e086e1e0b1b051703f33b1801
	https://git.kernel.org/stable/c/351dd7d2c80d23e56dcce6faa4e62bea5b0877c7