Cleanse the SSLv3 MAC secret when we clean up the read record layer

Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18132)
This commit is contained in:
Matt Caswell 2022-07-22 14:16:33 +01:00
parent cffafb5f57
commit c77d455673

View File

@ -1198,7 +1198,6 @@ tls_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
static void tls_int_free(OSSL_RECORD_LAYER *rl)
{
/* TODO(RECLAYER): Cleanse sensitive fields */
BIO_free(rl->prev);
BIO_free(rl->bio);
BIO_free(rl->next);
@ -1210,6 +1209,9 @@ static void tls_int_free(OSSL_RECORD_LAYER *rl)
COMP_CTX_free(rl->expand);
#endif
if (rl->version == SSL3_VERSION)
OPENSSL_cleanse(rl->mac_secret, sizeof(rl->mac_secret));
OPENSSL_free(rl);
}