CVE-2026-80943: wifi: rtlwifi: rtl8192du: check QoS TID before indexing tids

Published Sep 11, 2026
·
Updated

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

1 affected component
Linux Linux kernel

Event History

Sep 11, 2026
CVE Published
via MITRE·07:42 PM
Data Sourced
via MITRE·07:42 PM
Description

Frequently Asked Questions

1

Which systems are affected by this flaw?

Systems using the Linux kernel's rtlwifi rtl8192du transmit path are affected. The out-of-bounds access is in rtl92du_tx_fill_desc().

2

What input is required to trigger the invalid array access?

The QoS TID read from the 802.11 header must be greater than 8. ieee80211_get_tid() can return values from 0 through 15, while the affected tids array has only 9 entries.

3

How can the issue be identified during validation?

UBSAN can report an array-index-out-of-bounds access, such as index 10 for rtl_tid_data[9]. The bug was also identified through static analysis and confirmed by manual audit.

4

What behavior does the fix apply for unsupported TID values?

For out-of-range TIDs, the fix retains the default RTL_AGG_STOP aggregation state instead of indexing the aggregation-state array.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203