From 2d871227faf7f4e287caa04be43957f8e2df43a4 Mon Sep 17 00:00:00 2001 From: Matt Caswell Date: Thu, 11 May 2017 10:14:17 +0100 Subject: [PATCH] Send an illegal parameter alert if the update type in a KeyUpdate is wrong Previously we sent a decode_error alert. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/3436) --- ssl/statem/statem_lib.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/ssl/statem/statem_lib.c b/ssl/statem/statem_lib.c index 8b1dddaa3b..34871114b9 100644 --- a/ssl/statem/statem_lib.c +++ b/ssl/statem/statem_lib.c @@ -583,14 +583,19 @@ MSG_PROCESS_RETURN tls_process_key_update(SSL *s, PACKET *pkt) } if (!PACKET_get_1(pkt, &updatetype) - || PACKET_remaining(pkt) != 0 - || (updatetype != SSL_KEY_UPDATE_NOT_REQUESTED - && updatetype != SSL_KEY_UPDATE_REQUESTED)) { + || PACKET_remaining(pkt) != 0) { al = SSL_AD_DECODE_ERROR; SSLerr(SSL_F_TLS_PROCESS_KEY_UPDATE, SSL_R_BAD_KEY_UPDATE); goto err; } + if (updatetype != SSL_KEY_UPDATE_NOT_REQUESTED + && updatetype != SSL_KEY_UPDATE_REQUESTED) { + al = SSL_AD_ILLEGAL_PARAMETER; + SSLerr(SSL_F_TLS_PROCESS_KEY_UPDATE, SSL_R_BAD_KEY_UPDATE); + goto err; + } + /* * If we get a request for us to update our sending keys too then, we need * to additionally send a KeyUpdate message. However that message should -- 2.25.1