Subject: CVE-2023-52440: ksmbd: fix slub overflow in ksmbd_decode_ntlmssp_auth_blob()

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

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

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

ksmbd: fix slub overflow in ksmbd_decode_ntlmssp_auth_blob()

If authblob->SessionKey.Length is bigger than session key
size(CIFS_KEY_SIZE), slub overflow can happen in key exchange codes.
cifs_arc4_crypt copy to session key array from SessionKey from client.

The Linux kernel CVE team has assigned CVE-2023-52440 to this issue.

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

	Fixed in 5.15.145 with commit bd554ed4fdc3
	Fixed in 6.1.52 with commit 30fd6521b2fb
	Fixed in 6.4.15 with commit 7f1d6cb0eb6a
	Fixed in 6.5.2 with commit ecd7e1c562cb
	Fixed in 6.6 with commit 4b081ce0d830

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-2023-52440
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:
	fs/smb/server/auth.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/bd554ed4fdc3d38404a1c43d428432577573e809
	https://git.kernel.org/stable/c/30fd6521b2fbd9b767e438e31945e5ea3e3a2fba
	https://git.kernel.org/stable/c/7f1d6cb0eb6af3a8088dc24b7ddee9a9711538c4
	https://git.kernel.org/stable/c/ecd7e1c562cb08e41957fcd4b0e404de5ab38e20
	https://git.kernel.org/stable/c/4b081ce0d830b684fdf967abc3696d1261387254