Avoid an overflow in constructing the ServerKeyExchange message
authorMatt Caswell <matt@openssl.org>
Fri, 1 Jul 2016 10:58:05 +0000 (11:58 +0100)
committerMatt Caswell <matt@openssl.org>
Fri, 1 Jul 2016 18:23:29 +0000 (19:23 +0100)
commit1e16987fc18cce9420dd3b76326b8d25746fa258
tree6f75e4d53d4e9fab2c5dce50b21998db6e77f398
parent43cb309053ed3518bdd75dbf05ee96485ea57742
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@openssl.org>
ssl/statem/statem_srvr.c