summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorjsing <>2021-05-02 15:57:29 +0000
committerjsing <>2021-05-02 15:57:29 +0000
commitad1f7415eb38a81db6b28cde559a74f7686f8da2 (patch)
tree48e1fb50f3b74c891b963be1d708c5ed38f3c485 /src/lib
parent2f89d7839a55a48505ab2b34d0fe67064819920f (diff)
downloadopenbsd-ad1f7415eb38a81db6b28cde559a74f7686f8da2.tar.gz
openbsd-ad1f7415eb38a81db6b28cde559a74f7686f8da2.tar.bz2
openbsd-ad1f7415eb38a81db6b28cde559a74f7686f8da2.zip
Harden tls12_finished_verify_data() by checking master key length.
Require master key length to be greater than zero if we're asked to derive verify data for a finished or peer finished message. ok tb@
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libssl/tls12_lib.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/libssl/tls12_lib.c b/src/lib/libssl/tls12_lib.c
index e7171ba833..f30f3a7b46 100644
--- a/src/lib/libssl/tls12_lib.c
+++ b/src/lib/libssl/tls12_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tls12_lib.c,v 1.2 2021/04/30 19:26:45 jsing Exp $ */ 1/* $OpenBSD: tls12_lib.c,v 1.3 2021/05/02 15:57:29 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2021 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2021 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -27,6 +27,9 @@ tls12_finished_verify_data(SSL *s, const char *finished_label,
27 27
28 *out_len = 0; 28 *out_len = 0;
29 29
30 if (s->session->master_key_length <= 0)
31 return 0;
32
30 if (verify_data_len < TLS1_FINISH_MAC_LENGTH) 33 if (verify_data_len < TLS1_FINISH_MAC_LENGTH)
31 return 0; 34 return 0;
32 35