{"id":39078,"date":"2026-10-16T00:34:59","date_gmt":"2026-10-15T16:34:59","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98407"},"modified":"2026-10-16T00:34:59","modified_gmt":"2026-10-15T16:34:59","slug":"cve-2026-98407","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98407","title":{"rendered":"CVE-2026-98407 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: rsi: fix heap O"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>wifi: rsi: fix heap OOB write on key removal<\/p>\n<p>When a key is removed (data == NULL), rsi_hal_load_key() runs:<\/p>\n<p>\tmemset(&amp;set_key[FRAME_DESC_SZ], 0, frame_len &#8211; FRAME_DESC_SZ);<\/p>\n<p>set_key is a struct rsi_set_key *, so the subscript is scaled by<br \/>\nsizeof(struct rsi_set_key) (160 bytes): &amp;set_key[FRAME_DESC_SZ] is<br \/>\nskb-&gt;data + 2560, and the memset writes 144 zero bytes starting<br \/>\n2.4KB past the end of the 160-byte skb data buffer, corrupting<br \/>\nunrelated heap objects. The intended byte offset would have been<br \/>\n(u8 *)set_key + FRAME_DESC_SZ.<\/p>\n<p>The write fires on every DISABLE_KEY callback, so plain disconnects,<br \/>\nroams and interface teardowns trigger it on real networks.<\/p>\n<p>The memset is redundant: the whole buffer is zeroed right after<br \/>\nallocation, so the frame sent to the device is byte-identical<br \/>\nwithout it. Drop the else branch; normal operation is unaffected.<\/p>\n<p>Discovered by Atuin &#8211; Automated Vulnerability Discovery Engine.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>wifi: rsi: fix heap OOB write on key removal<\/p>\n<p>When a key is removed (data == NULL), rsi_hal_load_key() runs:<\/p>\n<p>\tmemset(&amp;set_key[FRAM<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-39078","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/39078","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=39078"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=39078"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=39078"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}