ksmbd: fix wrong signingkey creation when encryption is AES256
authorNamjae Jeon <linkinjeon@kernel.org>
Tue, 28 Feb 2023 15:01:21 +0000 (00:01 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 30 Mar 2023 10:49:26 +0000 (12:49 +0200)
commite54752f596a740d48f28588acad66836e707ebab
tree19777756526ef94eee9a396a3b9513d919227177
parent0608b3da04f5063fe503b7f9287ebb9c9b494fd7
ksmbd: fix wrong signingkey creation when encryption is AES256

commit 7a891d4b62d62566323676cb0e922ded4f37afe1 upstream.

MacOS and Win11 support AES256 encrytion and it is included in the cipher
array of encryption context. Especially on macOS, The most preferred
cipher is AES256. Connecting to ksmbd fails on newer MacOS clients that
support AES256 encryption. MacOS send disconnect request after receiving
final session setup response from ksmbd. Because final session setup is
signed with signing key was generated incorrectly.
For signging key, 'L' value should be initialized to 128 if key size is
16bytes.

Cc: stable@vger.kernel.org
Reported-by: Miao Lihua <441884205@qq.com>
Tested-by: Miao Lihua <441884205@qq.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/ksmbd/auth.c