From ef57a475a073fffd610ee3228acd855ca0d72be5 Mon Sep 17 00:00:00 2001 From: Matt Caswell Date: Mon, 8 May 2017 15:18:25 +0100 Subject: [PATCH] Verify that there is no trailing data after the extensions block Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/3436) --- ssl/statem/statem_srvr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ssl/statem/statem_srvr.c b/ssl/statem/statem_srvr.c index 7e025a6c28..5c22ba7b1c 100644 --- a/ssl/statem/statem_srvr.c +++ b/ssl/statem/statem_srvr.c @@ -1407,7 +1407,8 @@ MSG_PROCESS_RETURN tls_process_client_hello(SSL *s, PACKET *pkt) if (PACKET_remaining(pkt) == 0) { PACKET_null_init(&clienthello->extensions); } else { - if (!PACKET_get_length_prefixed_2(pkt, &clienthello->extensions)) { + if (!PACKET_get_length_prefixed_2(pkt, &clienthello->extensions) + || PACKET_remaining(pkt) != 0) { al = SSL_AD_DECODE_ERROR; SSLerr(SSL_F_TLS_PROCESS_CLIENT_HELLO, SSL_R_LENGTH_MISMATCH); goto f_err; -- 2.25.1