staging: rtl8723bs: fix OOB reads in is_ap_in_tkip() IE loop
- 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 5.15.212, 6.1.178, 6.6.145, 6.12.96, 6.18.39, and 1 more
- 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
- Exploitation: none
- Automatable: no
- Technical impact: partial
Summary
In the Linux kernel, the following vulnerability has been resolved: staging: rtl8723bs: fix OOB reads in is_ap_in_tkip() IE loop The loop in is_ap_in_tkip() iterates over IEs without verifying that enough bytes remain before dereferencing the IE header or its payload: • pIE->element_id and pIE->length are read without checking that i + sizeof(*pIE) <= ie_length, so a truncated IE at the end of the buffer causes an OOB read. • For WLAN_EID_VENDOR_SPECIFIC the code compares pIE->data + 12, which requires pIE->length >= 16. For WLAN_EID_RSN it compares pIE->data + 8, requiring pIE->length >= 12. Neither requirement is checked. Add the missing IE header and payload bounds checks and guard each data access with an explicit pIE->length minimum, matching the pattern established in update_beacon_info().
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From 554c0a3abf216c991c5ebddcdb2c08689ecd290b · fixed in ea3809f7e20bdff282b8cc1e94937d5fb9fb32c7; From 554c0a3abf216c991c5ebddcdb2c08689ecd290b · fixed in d2055332297e24c63fffda943ef7a5eefc0a6019; From 554c0a3abf216c991c5ebddcdb2c08689ecd290b · fixed in 6f26cc55affd9d7f88ae2f5d12db4ecf9072c209; From 554c0a3abf216c991c5ebddcdb2c08689ecd290b · fixed in 204b22c8df115370037248859bf0fa62db73a396; From 554c0a3abf216c991c5ebddcdb2c08689ecd290b · fixed in a6105ea8ca6ebbc04beaf3bcbf7dbb5985f5d395; From 554c0a3abf216c991c5ebddcdb2c08689ecd290b · fixed in 4380b3860d887a13555ff024a58dfc05b490dfd6; From 554c0a3abf216c991c5ebddcdb2c08689ecd290b · fixed in 3bf39f711ff27c64be8680a8938bcc5001982e81
- Linux Linux
4.12
- KernelLinux
From 4.12.0 · fixed in 5.15.212; From 5.16.0 · fixed in 6.1.178; From 6.2.0 · fixed in 6.6.145; From 6.7.0 · fixed in 6.12.96; From 6.13.0 · fixed in 6.18.39; From 6.19.0 · fixed in 7.1.4
References 7
git.kernel.org
- stable/c/ea3809f7e20bdff282b8cc1e94937d5fb9fb32c7
- stable/c/d2055332297e24c63fffda943ef7a5eefc0a6019
- stable/c/6f26cc55affd9d7f88ae2f5d12db4ecf9072c209
- stable/c/204b22c8df115370037248859bf0fa62db73a396
- stable/c/a6105ea8ca6ebbc04beaf3bcbf7dbb5985f5d395
- stable/c/4380b3860d887a13555ff024a58dfc05b490dfd6
- stable/c/3bf39f711ff27c64be8680a8938bcc5001982e81