Subject: CVE-2024-40929: wifi: iwlwifi: mvm: check n_ssids before accessing the ssids

From: Greg Kroah-Hartman <[email-masked]>

Description
===========

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

wifi: iwlwifi: mvm: check n_ssids before accessing the ssids

In some versions of cfg80211, the ssids poinet might be a valid one even
though n_ssids is 0. Accessing the pointer in this case will cuase an
out-of-bound access. Fix this by checking n_ssids first.

The Linux kernel CVE team has assigned CVE-2024-40929 to this issue.

Affected and fixed versions
===========================

	Issue introduced in 4.17 with commit c1a7515393e4 and fixed in 5.10.221 with commit 3c4771091ea8
	Issue introduced in 4.17 with commit c1a7515393e4 and fixed in 5.15.162 with commit f777792952d0
	Issue introduced in 4.17 with commit c1a7515393e4 and fixed in 6.1.95 with commit 9e719ae3abad
	Issue introduced in 4.17 with commit c1a7515393e4 and fixed in 6.6.35 with commit 29a18d56bd64
	Issue introduced in 4.17 with commit c1a7515393e4 and fixed in 6.9.6 with commit 62e007bdeb91
	Issue introduced in 4.17 with commit c1a7515393e4 and fixed in 6.10 with commit 60d62757df30

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2024-40929
will be updated if fixes are backported, please check that for the most
up to date information about this issue.

Affected files
==============

The file(s) affected by this issue are:
	drivers/net/wireless/intel/iwlwifi/mvm/scan.c

Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/3c4771091ea8016c8601399078916f722dd8833b
	https://git.kernel.org/stable/c/f777792952d03bbaf8329fdfa99393a5a33e2640
	https://git.kernel.org/stable/c/9e719ae3abad60e245ce248ba3f08148f375a614
	https://git.kernel.org/stable/c/29a18d56bd64b95bd10bda4afda512558471382a
	https://git.kernel.org/stable/c/62e007bdeb91c6879a4652c3426aef1cd9d2937b
	https://git.kernel.org/stable/c/60d62757df30b74bf397a2847a6db7385c6ee281