HIGH Introduced in 5.8
mt76 StaNss Underflow
CVE-2026-90372
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
KernelScan AI5.4MEDIUM
01Description
In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7915: avoid nss underflow in mt7915_mcu_get_sta_nss If a peer's VHT/HE MCS map has no supported spatial stream (all fields 0x3), the loop exits with nss == 0 and the function returned (u8)-1 (255), which was then written into the firmware sta_rec_bf beamforming fields. Clamp the result to 0.
02KernelScan AI Analysis
Risk summary
A WiFi peer within radio range of a device using the MediaTek MT7915 chipset can advertise a crafted MCS map with no supported spatial streams, causing an integer underflow that writes an invalid value (255) into firmware beamforming configuration. This could lead to firmware malfunction or degraded WiFi performance. No authentication or privileges are required — any station capable of sending WiFi frames to the affected device can trigger it.
Vulnerability analysis
When a WiFi peer advertises a VHT or HE MCS map indicating no supported spatial streams (all fields set to the unsupported value), the driver's spatial-stream detection loop exits without finding any valid entry, leaving the stream counter at zero. The function then subtracts one from this zero value, which wraps to 255 when stored as an unsigned byte, and this bogus value is passed into firmware beamforming configuration fields. The fix checks for the zero case and clamps the result to zero instead of allowing the underflow. The vulnerable code path is reached whenever the MT7915 driver processes a peer station's capability information, so any WiFi device within radio range that can send management or association frames to the affected host can trigger it — no authentication, local access, or special privileges are needed, though the specific MediaTek MT7915 hardware and driver must be present.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 5.15 | 5.8 | 5.15.221 | 38f4d6323bcd |
| 6.1 | 5.8 | 6.1.188 | 25f753f7f620 |
| 6.18 | 5.8 | 6.18.52 | 6ce78d04c7ea |
| mainline | 5.8 | 7.3-rc1 | 4a2f4be532e3 |
| 5.10 | 5.8 | 5.10.270 | 2801477c36a1 |
| 6.12 | 5.8 | 6.12.110 | 85bd46ab7674 |
| 6.6 | 5.8 | 6.6.157 | e63c6291ecdd |
| 7.2 | 5.8 | 7.2.6 | ecfd1a07e78c |
| cip/6.12 | 5.8 | 6.12.111-cip32 | 85bd46ab7674 |