summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorThomas Huth <thuth@redhat.com>2026-08-12 21:35:23 +0900
committerNamjae Jeon <linkinjeon@kernel.org>2026-08-17 22:38:21 +0900
commit9a9f1342daaa211fdd68688ac2b16acfb4df06b6 (patch)
tree71200d4a85726bfe40086873997b11f2dca4d604 /scripts
parent23a0be6a84a38ac169eeab49017934e8e27c65f0 (diff)
downloadlinux-9a9f1342daaa211fdd68688ac2b16acfb4df06b6.tar.gz
linux-9a9f1342daaa211fdd68688ac2b16acfb4df06b6.zip
smb: server: Clear sensitive stack and heap data in auth.c
Sensitive data like keys that are stored in stack-local arrays could be leaked via the stack to the calling functions, or via the heap when using only normal kfree() functions. There is no known vulnaribility for this right now, but it's good security style to explicitly zeroize this sensitive matieral as soon as possible to avoid that it could be exploited together with other bugs later. In calc_ntlmv2_hash(), the struct hmac_md5_ctx is normally cleared during hmac_md5_final() already, but in case of errors, this function is skipped and ctx is never zeroized, so add a memzero_explicit(&ctx, sizeof(ctx)) there to fix the problem. In ksmbd_krb5_authenticate(), the ksmbd_spnego_authen_response contains the session key in the payload. It's currently freed with plain kvfree(). Let's better use kvfree_sensitive() instead. In generate_key(), the prfhash[] array is used to calculate the key, but it's never cleared, so it leaks on the stack. Thus clear this with a memzero_explicit(), too. In ksmbd_crypt_message(), the sign[] and key[] arrays are leaked via the stack, too. Make sure to clear them via memzero_explicit() at the end. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions