- Fixed possible heap overflow in pkcs1_decrypt on data larger than output
buffer after padding. For instance the premaster decryption in
ssl_parse_client_key_exchange() in ssl_serv.c (Thanks to Christophe
Devine)
diff --git a/library/ssl_srv.c b/library/ssl_srv.c
index cb8d140..a8b9022 100644
--- a/library/ssl_srv.c
+++ b/library/ssl_srv.c
@@ -726,7 +726,8 @@
}
ret = rsa_pkcs1_decrypt( ssl->rsa_key, RSA_PRIVATE, &ssl->pmslen,
- ssl->in_msg + i, ssl->premaster );
+ ssl->in_msg + i, ssl->premaster,
+ sizeof(ssl->premaster) );
if( ret != 0 || ssl->pmslen != 48 ||
ssl->premaster[0] != ssl->max_major_ver ||