Description
In the Linux kernel, the following vulnerability has been resolved: staging: rtl8723bs: fix OOB write in HT_caps_handler() HT_caps_handler() iterates pIE->length bytes and writes into HT_caps.u.HT_cap[], which is a fixed 26-byte array (sizeof struct HT_caps_element). Because pIE->length is a raw u8 from an over-the-air 802.11 AssocResponse frame and is never validated, a malicious AP can set it up to 255, causing up to 229 bytes of out-of-bounds writes into adjacent fields of struct mlme_ext_info. Truncate the iteration count to the size of HT_caps.u.HT_cap using umin() so that data from a longer-than-expected IE is silently ignored rather than written out of bounds, preserving interoperability with APs that pad the element. An early return on oversized IEs was considered but rejected: it would bypass the pmlmeinfo->HT_caps_enable = 1 assignment that precedes the loop, silently disabling HT mode for APs that append extra bytes to the HT Capabilities IE.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
554c0a3abf216c991c5ebddcdb2c08689ecd290b to < 37f642d47c3648a707df3ceb092eee1adffbfd28affected554c0a3abf216c991c5ebddcdb2c08689ecd290b to < 8c872b47c7fc32e95e0da1db7512388794adcd69affected554c0a3abf216c991c5ebddcdb2c08689ecd290b to < bb3b942da4123b55d1cacf19d1a7d5ba15dbf83aaffected554c0a3abf216c991c5ebddcdb2c08689ecd290b to < 918537a0fbed85aab61fa28ad75e6279070610c9affected554c0a3abf216c991c5ebddcdb2c08689ecd290b to < 6f91621fc45025ad3c0be796b70e6e4cee22fc69affected554c0a3abf216c991c5ebddcdb2c08689ecd290b to < 225b6d3fc7e99ac3d20b6c861d1e47d24e7ea31daffected554c0a3abf216c991c5ebddcdb2c08689ecd290b to < f8001e1a516ba3b495728c65b61f799cbfad6bd0affected
Linux Linux
Default version status: affected
4.12affected0 to < 4.12unaffected5.15.212 to ≤ 5.15.*unaffected6.1.178 to ≤ 6.1.*unaffected6.6.145 to ≤ 6.6.*unaffected6.12.96 to ≤ 6.12.*unaffected6.18.39 to ≤ 6.18.*unaffected7.1.4 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/37f642d47c3648a707df3ceb092eee1adffbfd28 ↗
- https://git.kernel.org/stable/c/8c872b47c7fc32e95e0da1db7512388794adcd69 ↗
- https://git.kernel.org/stable/c/bb3b942da4123b55d1cacf19d1a7d5ba15dbf83a ↗
- https://git.kernel.org/stable/c/918537a0fbed85aab61fa28ad75e6279070610c9 ↗
- https://git.kernel.org/stable/c/6f91621fc45025ad3c0be796b70e6e4cee22fc69 ↗
- https://git.kernel.org/stable/c/225b6d3fc7e99ac3d20b6c861d1e47d24e7ea31d ↗
- https://git.kernel.org/stable/c/f8001e1a516ba3b495728c65b61f799cbfad6bd0 ↗