[PATCH] crypto: inside-secure - Zeroize temporary arrays on stack with sensitive data
From: Thomas Huth
Date: Fri Aug 14 2026 - 04:44:37 EST
This issue has been found by the Sashiko bot while reviewing another
patch: key_tmp[] in safexcel_xcbcmac_setkey() and consts[] / _const[]
in safexcel_cmac_setkey() contain crypto key material that should not
get exposed to the outside once the function is done. Scrub the arrays
with memzero_explicit() to avoid that the data could leak via the stack.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx>
---
drivers/crypto/inside-secure/safexcel_hash.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/crypto/inside-secure/safexcel_hash.c b/drivers/crypto/inside-secure/safexcel_hash.c
index 3402e570d045c..1ae6fbec31298 100644
--- a/drivers/crypto/inside-secure/safexcel_hash.c
+++ b/drivers/crypto/inside-secure/safexcel_hash.c
@@ -1993,6 +1993,7 @@ static int safexcel_xcbcmac_setkey(struct crypto_ahash *tfm, const u8 *key,
ret = aes_prepareenckey(ctx->aes,
(u8 *)key_tmp + 2 * AES_BLOCK_SIZE,
AES_MIN_KEY_SIZE);
+ memzero_explicit(key_tmp, sizeof(key_tmp));
if (ret)
return ret;
@@ -2104,6 +2105,9 @@ static int safexcel_cmac_setkey(struct crypto_ahash *tfm, const u8 *key,
}
ctx->cbcmac = false;
+
+ memzero_explicit(consts, sizeof(consts));
+ memzero_explicit(_const, sizeof(_const));
return 0;
}
--
2.55.0