{"id":41175,"date":"2026-10-19T00:32:28","date_gmt":"2026-10-18T16:32:28","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98703"},"modified":"2026-10-19T00:32:28","modified_gmt":"2026-10-18T16:32:28","slug":"cve-2026-98703","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98703","title":{"rendered":"CVE-2026-98703 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mac80211: minst"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>wifi: mac80211: minstrel_ht: validate fixed rate index<\/p>\n<p>The fixed_rate_idx debugfs file is a plain u32 attribute, so any value<br \/>\ncan be written to it.  minstrel_ht_update_stats() then copies the value<br \/>\ninto mi-&gt;max_tp_rate[] and mi-&gt;max_prob_rate, and<br \/>\nminstrel_ht_set_rate() uses MI_RATE_GROUP()\/MI_RATE_IDX() to index<br \/>\nminstrel_mcs_groups[] (42 entries) and mi-&gt;groups[].rates[] (10 entries)<br \/>\nwith it.<\/p>\n<p>Writing e.g. 65535 selects group 4095 and rate index 15, far outside<br \/>\nboth arrays.  The out-of-bounds entries are dereferenced and updated as<br \/>\nstruct minstrel_rate_stats (retry counts, etc.), so the invalid index<br \/>\ncorrupts adjacent kernel memory.  With CONFIG_UBSAN_BOUNDS the access is<br \/>\nreported as an array-index-out-of-bounds in minstrel_ht_set_rate().<\/p>\n<p>Only a valid group\/rate pair, or U32_MAX to disable fixed rate<br \/>\nprocessing, can be used safely, so reject any other value when the<br \/>\ndebugfs file is written.<\/p>\n<p>The file is only reachable through a root-only debugfs mount, so this is<br \/>\nnot a privilege boundary.  The out-of-bounds access is still a bug that<br \/>\nmust not be reachable through a writable debugfs attribute.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>wifi: mac80211: minstrel_ht: validate fixed rate index<\/p>\n<p>The fixed_rate_idx debugfs file is a plain u32 attribute, so any value<br \/>\ncan <\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-41175","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/41175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=41175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=41175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=41175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}