summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Horman <nhorman@openssl.org>2024-01-03 13:47:05 -0500
committerNeil Horman <nhorman@openssl.org>2024-01-05 14:41:04 -0500
commitb8ef67f8a3880a4b2a86b1804638ff230ff8831c (patch)
tree9e166453b885430401e81b0fcc7e93ea032ae95f
parentf645f242d7bb835bb417a878de1dc2951ba1e480 (diff)
cleanse stack variable in kdf_pbkdf1_do_derive
kdf_pbkdf1_do_derive stores key derivation information in a stack variable, which is left uncleansed prior to returning. Ensure that the stack information is zeroed prior to return to avoid potential leaks of key information Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/23194) (cherry picked from commit 5963aa8c196d7c5a940a979299a07418527932af)
-rw-r--r--providers/implementations/kdfs/pbkdf1.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/providers/implementations/kdfs/pbkdf1.c b/providers/implementations/kdfs/pbkdf1.c
index b560598ded..3ed771aa8f 100644
--- a/providers/implementations/kdfs/pbkdf1.c
+++ b/providers/implementations/kdfs/pbkdf1.c
@@ -88,6 +88,7 @@ static int kdf_pbkdf1_do_derive(const unsigned char *pass, size_t passlen,
memcpy(out, md_tmp, n);
ret = 1;
err:
+ OPENSSL_cleanse(md_tmp, EVP_MAX_MD_SIZE);
EVP_MD_CTX_free(ctx);
return ret;
}