diff --git a/ChangeLog.d/fix-tls-padbuf-zeroization b/ChangeLog.d/fix-tls-padbuf-zeroization new file mode 100644 index 000000000..36451cb4b --- /dev/null +++ b/ChangeLog.d/fix-tls-padbuf-zeroization @@ -0,0 +1,4 @@ +Security + * Fix a case where potentially sensitive information held in memory would not + be completely zeroized during TLS 1.2 handshake, in both server and client + configurations. diff --git a/library/ssl_tls.c b/library/ssl_tls.c index 6ed8a863e..7a1f85531 100644 --- a/library/ssl_tls.c +++ b/library/ssl_tls.c @@ -7722,7 +7722,7 @@ static int ssl_calc_finished_tls_generic(mbedtls_ssl_context *ssl, void *ctx, MBEDTLS_SSL_DEBUG_BUF(3, "calc finished result", buf, len); - mbedtls_platform_zeroize(padbuf, sizeof(padbuf)); + mbedtls_platform_zeroize(padbuf, hlen); MBEDTLS_SSL_DEBUG_MSG(2, ("<= calc finished"));