In the Linux kernel, the following vulnerability has been resolved:
ath11k: Change max no of active probe SSID and BSSID to fw capability
The maximum number of SSIDs in a for active probe requests is currently reported as 16 (WLANSCANPARAMSMAXSSID) when registering the driver. The scanreqparams structure only has the capacity to hold 10 SSIDs. This leads to a buffer overflow which can be triggered from wpasupplicant in userspace. When copying the SSIDs into the scanreqparams structure in the ath11kmacophw_scan route, it can overwrite the extraie pointer.
Firmware supports 16 ssid * 4 bssid, for each ssid 4 bssid combo probe request will be sent, so totally 64 probe requests supported. So set both max ssid and bssid to 16 and 4 respectively. Remove the redundant macros of ssid and bssid.
Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.7.0.1-01300-QCAHKSWPL_SILICONZ-1
[
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@50dc9ce9f80554a88e33b73c30851acf2be36ed3",
"id": "CVE-2022-49533-29e38309",
"digest": {
"line_hashes": [
"166103348302886706095512375091922869038",
"337015844897869436800909827782043471891",
"208678790048975969796936831582344161611",
"210467251140074086362676833740948057636",
"301437966194350006552827464805376461535",
"300377561327469708814067205596849420474",
"245852577331628213855908029732699745366",
"202405399644668801455759440940791552598",
"16121088661865191657964467636328317479",
"114748569355359749099465334901494327885",
"245954985543696608887893239488500077378"
],
"threshold": 0.9
},
"target": {
"file": "drivers/net/wireless/ath/ath11k/wmi.h"
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@210505788f1d243232e21ef660efcd4838890ce8",
"id": "CVE-2022-49533-5ad93805",
"digest": {
"line_hashes": [
"166103348302886706095512375091922869038",
"337015844897869436800909827782043471891",
"208678790048975969796936831582344161611",
"210467251140074086362676833740948057636",
"301437966194350006552827464805376461535",
"300377561327469708814067205596849420474",
"245852577331628213855908029732699745366",
"202405399644668801455759440940791552598",
"16121088661865191657964467636328317479",
"114748569355359749099465334901494327885",
"245954985543696608887893239488500077378"
],
"threshold": 0.9
},
"target": {
"file": "drivers/net/wireless/ath/ath11k/wmi.h"
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ec5dfa1d66f2f71a48dab027d26a9fa78eb0f58f",
"id": "CVE-2022-49533-b86b8f30",
"digest": {
"line_hashes": [
"166103348302886706095512375091922869038",
"337015844897869436800909827782043471891",
"208678790048975969796936831582344161611",
"210467251140074086362676833740948057636",
"301437966194350006552827464805376461535",
"300377561327469708814067205596849420474",
"245852577331628213855908029732699745366",
"202405399644668801455759440940791552598",
"16121088661865191657964467636328317479",
"114748569355359749099465334901494327885",
"245954985543696608887893239488500077378"
],
"threshold": 0.9
},
"target": {
"file": "drivers/net/wireless/ath/ath11k/wmi.h"
},
"signature_type": "Line",
"signature_version": "v1"
}
]