UBUNTU-CVE-2026-80943: High severity ubuntu/linux-hwe-edge vulnerability
In the Linux kernel, the following vulnerability has been resolved: wifi: rtlwifi: rtl8192du: check QoS TID before indexing tids rtl92dutxfilldesc() uses ieee80211gettid() to read the QoS TID from the 802.11 header and then uses it as an index into staentry->tids[]. ieee80211gettid() returns the low 4-bit QoS TID value, so the result can be in the range 0..15. rtlwifi only allocates MAXTIDCOUNT entries for staentry->tids[], and MAXTIDCOUNT is 9. A QoS TID greater than 8 therefore indexes past the aggregation state array. Keep the default RTLAGGSTOP state for out-of-range TIDs, matching rtl92cutxfilldesc(). This issue was detected by our static analysis tool and confirmed by manual audit. UBSAN validation for the same bug pattern reports an array-index-out-of-bounds access with index 10 for type 'rtltiddata [9]'.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- 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
In rtl92du_tx_fill_desc(), validate the QoS TID returned by ieee80211_get_tid() before indexing sta_entry->tids[]; for out-of-range TIDs, retain the default RTL_AGG_STOP state.