In the Linux kernel, the following vulnerability has been resolved:
wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiexconfigscan()
Replace one-element array with a flexible-array member in struct
mwifiex_ie_types_wildcard_ssid_params to fix the following warning
on a MT8173 Chromebook (mt8173-elm-hana):
[ 356.775250] ------------[ cut here ]------------ [ 356.784543] memcpy: detected field-spanning write (size 6) of single field "wildcardssidtlv->ssid" at drivers/net/wireless/marvell/mwifiex/scan.c:904 (size 1) [ 356.813403] WARNING: CPU: 3 PID: 742 at drivers/net/wireless/marvell/mwifiex/scan.c:904 mwifiexscannetworks+0x4fc/0xf28 [mwifiex]
The "(size 6)" above is exactly the length of the SSID of the network this device was connected to. The source of the warning looks like:
ssid_len = user_scan_in->ssid_list[i].ssid_len;
[...]
memcpy(wildcard_ssid_tlv->ssid,
user_scan_in->ssid_list[i].ssid, ssid_len);
There is a #define WILDCARDSSIDTLVMAXSIZE that uses sizeof() on this struct, but it already didn't account for the size of the one-element array, so it doesn't need to be changed.
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/56xxx/CVE-2024-56539.json"
}"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-56539.json"
[
{
"signature_version": "v1",
"target": {
"file": "drivers/net/wireless/marvell/mwifiex/fw.h"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1de0ca1d7320a645ba2ee5954f64be08935b002a",
"deprecated": false,
"digest": {
"line_hashes": [
"297165117059411177448157327878322797154",
"137255909412954461747815279986538671678",
"9317498649834818468619928877927244184",
"142268719179241218989691893778612850941"
],
"threshold": 0.9
},
"id": "CVE-2024-56539-1e93dba7",
"signature_type": "Line"
}
]