From 511f6e1bf0c865a1983fe9427191e358381ccf04 Mon Sep 17 00:00:00 2001 From: Kareem Date: Fri, 12 Jun 2026 12:21:02 -0700 Subject: [PATCH] Zero out the aead in wc_ChaCha20Poly1305_Encrypt/Decrypt before freeing it. Fixes F-4023. --- wolfcrypt/src/chacha20_poly1305.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/wolfcrypt/src/chacha20_poly1305.c b/wolfcrypt/src/chacha20_poly1305.c index e9e5bb80c4..f3ebb52ff9 100644 --- a/wolfcrypt/src/chacha20_poly1305.c +++ b/wolfcrypt/src/chacha20_poly1305.c @@ -75,6 +75,7 @@ int wc_ChaCha20Poly1305_Encrypt( if (ret == 0) ret = wc_ChaCha20Poly1305_Final(aead, outAuthTag); + ForceZero(aead, sizeof(ChaChaPoly_Aead)); WC_FREE_VAR_EX(aead, NULL, DYNAMIC_TYPE_TMP_BUFFER); return ret; @@ -123,6 +124,7 @@ int wc_ChaCha20Poly1305_Decrypt( /* zero plaintext on error */ ForceZero(outPlaintext, inCiphertextLen); } + ForceZero(aead, sizeof(ChaChaPoly_Aead)); WC_FREE_VAR_EX(aead, NULL, DYNAMIC_TYPE_TMP_BUFFER); return ret;