wifi: rtlwifi: rtl8192du: check QoS TID before indexing tids
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.12.109, 6.18.50, 7.2.4
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: wifi: rtlwifi: rtl8192du: check QoS TID before indexing tids rtl92du_tx_fill_desc() uses ieee80211_get_tid() to read the QoS TID from the 802.11 header and then uses it as an index into sta_entry->tids[]. ieee80211_get_tid() returns the low 4-bit QoS TID value, so the result can be in the range 0..15. rtlwifi only allocates MAX_TID_COUNT entries for sta_entry->tids[], and MAX_TID_COUNT is 9. A QoS TID greater than 8 therefore indexes past the aggregation state array. Keep the default RTL_AGG_STOP state for out-of-range TIDs, matching rtl92cu_tx_fill_desc(). 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 'rtl_tid_data [9]'.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 8321424134a400a5e3eb39f9acca6bc6946ff447 · fixed in 6e327f14e1c43e175bf530f9165b2cadff308553; From 8321424134a400a5e3eb39f9acca6bc6946ff447 · fixed in 0c0b374e12d52af23ca741728db31091677cf9dc; From 8321424134a400a5e3eb39f9acca6bc6946ff447 · fixed in 42785f7e8d31540e6172bbcf08a7cc3cae1086f8; From 8321424134a400a5e3eb39f9acca6bc6946ff447 · fixed in ed4f05d9f2f42fd866f55108db8123eefcc5fb33
- Linux Linux
6.11
- KernelLinux
From 6.11.0 · fixed in 6.12.109; From 6.13.0 · fixed in 6.18.50; From 6.19.0 · fixed in 7.2.4