diff options
author | jsing <> | 2021-09-03 13:18:01 +0000 |
---|---|---|
committer | jsing <> | 2021-09-03 13:18:01 +0000 |
commit | 0e1b29b0b5ebb370785e5e69e3b74e9affb817c2 (patch) | |
tree | 931c107c8b3ca572f49af8146550687df69d905b /src/lib | |
parent | 7e1d01d5a6ced7d28ff98425050886b037b07c9f (diff) | |
download | openbsd-0e1b29b0b5ebb370785e5e69e3b74e9affb817c2.tar.gz openbsd-0e1b29b0b5ebb370785e5e69e3b74e9affb817c2.tar.bz2 openbsd-0e1b29b0b5ebb370785e5e69e3b74e9affb817c2.zip |
Ensure that a client hello does not have trailing data.
Found by tlsfuzzer.
ok beck@
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libssl/ssl_srvr.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/libssl/ssl_srvr.c b/src/lib/libssl/ssl_srvr.c index a473d5af05..3a37fc7e09 100644 --- a/src/lib/libssl/ssl_srvr.c +++ b/src/lib/libssl/ssl_srvr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_srvr.c,v 1.118 2021/08/30 19:25:43 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_srvr.c,v 1.119 2021/09/03 13:18:01 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -1017,6 +1017,9 @@ ssl3_get_client_hello(SSL *s) | |||
1017 | goto fatal_err; | 1017 | goto fatal_err; |
1018 | } | 1018 | } |
1019 | 1019 | ||
1020 | if (CBS_len(&cbs) != 0) | ||
1021 | goto decode_err; | ||
1022 | |||
1020 | if (!S3I(s)->renegotiate_seen && s->internal->renegotiate) { | 1023 | if (!S3I(s)->renegotiate_seen && s->internal->renegotiate) { |
1021 | al = SSL_AD_HANDSHAKE_FAILURE; | 1024 | al = SSL_AD_HANDSHAKE_FAILURE; |
1022 | SSLerror(s, SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED); | 1025 | SSLerror(s, SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED); |