CVE-2026-98159: wifi: mt76: mt7921: validate CLC firmware records
In the Linux kernel, the following vulnerability has been resolved:
wifi: mt76: mt7921: validate CLC firmware records
The CLC region is supplied by firmware, but the loader trusts the region count and each record length. A malformed image can make the region table pointer precede the firmware buffer, make the record loop fail to advance, or index phy->clc past its end. Validate the table and record bounds before dereferencing or copying.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 6.6.158.1-1 - Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 6.1.190-1Fixed in 6.12.115-2Fixed in 7.2.12-1Fixed in 7.2.15-1 - Upgrade
Upgrade
debian/linux-6.12to a version that resolves this vulnerability.Fixed in 6.12.113-1~deb12u1 - Upgrade
Upgrade
ubuntu/linux-hwe-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1~24.04.1 - Upgrade
Upgrade
ubuntu/linuxto a version that resolves this vulnerability.Fixed in 7.0.0-42.42 - Upgrade
Upgrade
ubuntu/linux-awsto a version that resolves this vulnerability.Fixed in 7.0.0-1016.17 - Upgrade
Upgrade
ubuntu/linux-gcpto a version that resolves this vulnerability.Fixed in 7.0.0-1016.18 - Upgrade
Upgrade
ubuntu/linux-ibmto a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oem-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oracleto a version that resolves this vulnerability.Fixed in 7.0.0-1015.16 - Upgrade
Upgrade
ubuntu/linux-riscvto a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1 - Compensating control
Validate the CLC firmware region table and each record's bounds before dereferencing or copying, including ensuring the region table pointer remains within the firmware buffer, record lengths cannot cause the loop to fail to advance, and indexes into phy->clc remain within bounds.
Event History
Frequently Asked Questions
What must an attacker control to trigger this issue?
The attacker would need to provide or cause the mt7921 driver to load a malformed CLC firmware image. The vulnerable parsing occurs because the driver trusts firmware-supplied region counts and record lengths.
Which systems are exposed?
Systems using the Linux kernel mt76 mt7921 Wi-Fi driver are relevant, provided they load CLC firmware records. The supplied data does not identify affected kernel versions or specific device models.
What can happen when malformed records are processed?
Malformed CLC data can cause the region table pointer to fall before the firmware buffer, prevent the record-processing loop from advancing, or cause indexing beyond the end of phy->clc. The resolved change adds table and record bounds validation before data is dereferenced or copied.