Linux: wifi: mac80211: minstrel_ht: validate fixed rate index
What fixes it
- 42aa9feb27b600809414a3c6b0c650bafba542a9LinuxCVE List
- 43082d604a9937b94ceb2e484403956d0f363324LinuxCVE List
- 15fb9e3cea55fbc378261ce35a32b0f8828f0000LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
wifi: mac80211: minstrel_ht: validate fixed rate index
The fixed_rate_idx debugfs file is a plain u32 attribute, so any value can be written to it. minstrel_ht_update_stats() then copies the value into mi->max_tp_rate[] and mi->max_prob_rate, and minstrel_ht_set_rate() uses MI_RATE_GROUP()/MI_RATE_IDX() to index minstrel_mcs_groups[] (42 entries) and mi->groups[].rates[] (10 entries) with it.
Writing e.g. 65535 selects group 4095 and rate index 15, far outside both arrays. The out-of-bounds entries are dereferenced and updated as struct minstrel_rate_stats (retry counts, etc.), so the invalid index corrupts adjacent kernel memory. With CONFIG_UBSAN_BOUNDS the access is reported as an array-index-out-of-bounds in minstrel_ht_set_rate().
Only a valid group/rate pair, or U32_MAX to disable fixed rate processing, can be used safely, so reject any other value when the debugfs file is written.
The file is only reachable through a root-only debugfs mount, so this is not a privilege boundary. The out-of-bounds access is still a bug that must not be reachable through a writable debugfs attribute.
Text from CVE List
Affected versions 12
- Linuxaffected: 24f7580e852b5472b51eea322bb78454df0054b8 before eebc70f132041b35da9ec74d5d395083125289b2CVE List
- Linuxaffected: 24f7580e852b5472b51eea322bb78454df0054b8 before f8ab6ae1fa360b0191252677f41e781dcb0ffe6eCVE List
- Linuxaffected: 24f7580e852b5472b51eea322bb78454df0054b8 before 42aa9feb27b600809414a3c6b0c650bafba542a9CVE List
- Linuxaffected: 24f7580e852b5472b51eea322bb78454df0054b8 before 43082d604a9937b94ceb2e484403956d0f363324CVE List
- Linuxaffected: 24f7580e852b5472b51eea322bb78454df0054b8 before 15fb9e3cea55fbc378261ce35a32b0f8828f0000CVE List
- Linuxaffected: 3.1CVE List
- Linuxunaffected: all versions before 3.1CVE List
- Linuxunaffected: 6.6.160 through 6.6.*CVE List
- Linuxunaffected: 6.12.113 through 6.12.*CVE List
- Linuxunaffected: 6.18.56 through 6.18.*CVE List
- Linuxunaffected: 7.2.10 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 5
- git.kernel.org/stable/c/eebc70f132041b35da9ec74d5d395083125289b2Referencevia CVE List
- git.kernel.org/stable/c/f8ab6ae1fa360b0191252677f41e781dcb0ffe6eReferencevia CVE List
- git.kernel.org/stable/c/42aa9feb27b600809414a3c6b0c650bafba542a9Referencevia CVE List
- git.kernel.org/stable/c/43082d604a9937b94ceb2e484403956d0f363324Referencevia CVE List
- git.kernel.org/stable/c/15fb9e3cea55fbc378261ce35a32b0f8828f0000Referencevia CVE List