[openssl-commits] [openssl] OpenSSL_1_0_2-stable update
Matt Caswell
matt at openssl.org
Fri Jul 1 18:28:59 UTC 2016
The branch OpenSSL_1_0_2-stable has been updated
via 77857ddcca41e1ad34725715fe7b32adc4de7930 (commit)
from cbffd2d9ca91dabb1cdfb181311f2a8458b4a8e8 (commit)
- Log -----------------------------------------------------------------
commit 77857ddcca41e1ad34725715fe7b32adc4de7930
Author: Matt Caswell <matt at openssl.org>
Date: Fri Jul 1 11:58:05 2016 +0100
Avoid an overflow in constructing the ServerKeyExchange message
We calculate the size required for the ServerKeyExchange message and then
call BUF_MEM_grow_clean() on the buffer. However we fail to take account of
2 bytes required for the signature algorithm and 2 bytes for the signature
length, i.e. we could overflow by 4 bytes. In reality this won't happen
because the buffer is pre-allocated to a large size that means it should be
big enough anyway.
Addresses an OCAP Audit issue.
Reviewed-by: Rich Salz <rsalz at openssl.org>
-----------------------------------------------------------------------
Summary of changes:
ssl/s3_srvr.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/ssl/s3_srvr.c b/ssl/s3_srvr.c
index 0c43c49..299f85b 100644
--- a/ssl/s3_srvr.c
+++ b/ssl/s3_srvr.c
@@ -1872,6 +1872,11 @@ int ssl3_send_server_key_exchange(SSL *s)
goto f_err;
}
kn = EVP_PKEY_size(pkey);
+ /* Allow space for signature algorithm */
+ if (SSL_USE_SIGALGS(s))
+ kn += 2;
+ /* Allow space for signature length */
+ kn += 2;
} else {
pkey = NULL;
kn = 0;
More information about the openssl-commits
mailing list