wifi: mwifiex: fix NULL dereference when the AP has HT-cap but no HT-oper
- 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
- 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
Summary
In the Linux kernel, the following vulnerability has been resolved: wifi: mwifiex: fix NULL dereference when the AP has HT-cap but no HT-oper mwifiex_tdls_add_ht_oper() gates its follow-the-AP-bandwidth path on bss_desc->bcn_ht_cap being present, but then dereferences a different pointer, bss_desc->bcn_ht_oper: if (ISSUPP_CHANWIDTH40(priv->adapter->hw_dot_11n_dev_cap) && bss_desc->bcn_ht_cap && ISALLOWED_CHANWIDTH40(bss_desc->bcn_ht_oper->ht_param)) bcn_ht_cap and bcn_ht_oper are populated independently while parsing the associated AP's beacon in mwifiex_update_bss_desc_with_ie(): an AP that advertises an HT Capabilities element but no HT Operation element leaves bcn_ht_cap non-NULL and bcn_ht_oper NULL. Setting up a TDLS link to a peer while associated to such an AP then dereferences the NULL bcn_ht_oper and crashes the kernel. Every other bcn_ht_oper user in the driver NULL-checks it first. Guard on the pointer that is actually dereferenced. Found by 0sec automated security-research tooling (https://0sec.ai).
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
3.16
References 8
git.kernel.org
- stable/c/e1770f7410b4232a0267924f99751dc9c5ca31af
- stable/c/8c2058717fd06f05d421c2d3adf1dff3c3abcda1
- stable/c/fba7eb7b248ea0618235f504158b685d752a153a
- stable/c/eb42c3c8fd479166c42984728754cd779c71fd60
- stable/c/45011e4d9ba3f2182e5df64be65888044fa20771
- stable/c/9375a4ea4121625ef27a46b74781cda66a5cc61b
- stable/c/cca4398aa305c22016d1714f388e2fa6ea4e5ad4
- stable/c/c3d68e294cbb6a4090bb219d3dcaca85a011809b