wifi: mwifiex: fix NULL dereference when the AP has HT-cap but no HT-oper
0Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Track
exploitation probability
—
observed exploitation
nono source reports it
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).
Affected products
Linux · LinuxReferences
https://git.kernel.org/stable/c/45011e4d9ba3f2182e5df64be65888044fa20771https://git.kernel.org/stable/c/9375a4ea4121625ef27a46b74781cda66a5cc61bhttps://git.kernel.org/stable/c/c3d68e294cbb6a4090bb219d3dcaca85a011809bhttps://git.kernel.org/stable/c/cca4398aa305c22016d1714f388e2fa6ea4e5ad4https://git.kernel.org/stable/c/eb42c3c8fd479166c42984728754cd779c71fd60