CVE-2026-74650

staging: rtl8723bs: fix OOB read in WMM_param_handler()

State
Published
Severity
Not scored
Published
Aug 22, 2026
Updated
Aug 27, 2026
Reserved
Aug 15, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

staging: rtl8723bs: fix OOB read in WMM_param_handler()

WMM_param_handler() copies a fixed-size WMM parameter element out of a received information element without checking that the element is long enough, causing an out-of-bounds read for a short WMM IE.

The handler reads sizeof(struct WMM_para_element) (18) bytes at pIE->data + 6, so it requires pIE->length to be at least 24 (WLAN_WMM_LEN), but it never validates the length. Two of its three callers reach it after matching only the WMM OUI: OnAssocRsp() in rtw_mlme_ext.c matches a 6-byte OUI, and join_cmd_hdl() matches a 4-byte OUI, before calling the handler. A vendor-specific IE carrying the WMM OUI but a length between 6 and 23, placed in an association response or in the IE blob handed to join_cmd_hdl(), passes the OUI check and then makes the memcmp() and memcpy() at pIE->data + 6 read past the end of the element. OnAssocRsp() parses a frame received from the AP, so this is reachable from a remote peer.

The remaining caller in rtw_wlan_util.c already guards the handler with "pIE->length == WLAN_WMM_LEN". Move the equivalent check into the handler itself so every caller is covered; the sibling IE handlers in the same parsing loop (HT_caps_handler(), HT_info_handler(), ERP_IE_handler()) likewise bound their accesses by pIE->length.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 554c0a3abf216c991c5ebddcdb2c08689ecd290b to before 5df2fd06567df5f178c8faae0bdaefd203618d21Affected
  • 554c0a3abf216c991c5ebddcdb2c08689ecd290b to before 6cdca4c8b64c15a3ab9ad7a85f482e9519eadf93Affected
  • 554c0a3abf216c991c5ebddcdb2c08689ecd290b to before 2bee6f7a0f0125238951e31da2e96d06fe359043Affected
  • 554c0a3abf216c991c5ebddcdb2c08689ecd290b to before 1158b9931207392d6dd136aa0c4be18893b50fa1Affected
  • 554c0a3abf216c991c5ebddcdb2c08689ecd290b to before ce2399717de242344880044b91a20a712644fdfbAffected
  • 554c0a3abf216c991c5ebddcdb2c08689ecd290b to before e5b7610008f4e6a80c8b071aa77ddbd5e17ea472Affected
  • 554c0a3abf216c991c5ebddcdb2c08689ecd290b to before e429c6dfd5d2324cd866daaf4c29d5cfe4dea0e4Affected
  • 554c0a3abf216c991c5ebddcdb2c08689ecd290b to before ae21407350151bddfd4fea7aa39bd0643c0ca9d3Affected
LinuxLinux
  • 4.12Affected
  • before 4.12Not affected
  • 5.10.267 through 5.10.*Not affected
  • 5.15.216 through 5.15.*Not affected
  • 6.1.183 through 6.1.*Not affected
  • 6.6.152 through 6.6.*Not affected
  • 6.12.104 through 6.12.*Not affected
  • 6.18.45 through 6.18.*Not affected
  • 7.1.9 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.