diff options
author | jsing <> | 2020-05-11 18:03:51 +0000 |
---|---|---|
committer | jsing <> | 2020-05-11 18:03:51 +0000 |
commit | 825d508a4b688821e99561b72a842c81c93b84a5 (patch) | |
tree | 8db77e997c933fb8987ec9250fff46520b8c6487 /src/lib/libssl/tls13_record.c | |
parent | 28b584ddd2d0a41bceacbb1c350d790e3a39cd75 (diff) | |
download | openbsd-825d508a4b688821e99561b72a842c81c93b84a5.tar.gz openbsd-825d508a4b688821e99561b72a842c81c93b84a5.tar.bz2 openbsd-825d508a4b688821e99561b72a842c81c93b84a5.zip |
Add record version checks.
When legacy version is below TLSv1.2 ensure that the record version is
SSL3/TLS, however when the legacy version is set to TLSv1.2 require this
specifically.
ok beck@ tb@
Diffstat (limited to 'src/lib/libssl/tls13_record.c')
-rw-r--r-- | src/lib/libssl/tls13_record.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/libssl/tls13_record.c b/src/lib/libssl/tls13_record.c index 9ab4cdba36..ca61a94ff1 100644 --- a/src/lib/libssl/tls13_record.c +++ b/src/lib/libssl/tls13_record.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tls13_record.c,v 1.4 2020/02/15 14:36:58 jsing Exp $ */ | 1 | /* $OpenBSD: tls13_record.c,v 1.5 2020/05/11 18:03:51 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org> |
4 | * | 4 | * |
@@ -146,6 +146,8 @@ tls13_record_recv(struct tls13_record *rec, tls13_read_cb wire_read, | |||
146 | return TLS13_IO_FAILURE; | 146 | return TLS13_IO_FAILURE; |
147 | 147 | ||
148 | /* XXX - record overflow alert. */ | 148 | /* XXX - record overflow alert. */ |
149 | if ((rec_version >> 8) != SSL3_VERSION_MAJOR) | ||
150 | return TLS13_IO_RECORD_VERSION; | ||
149 | if (rec_len > TLS13_RECORD_MAX_CIPHERTEXT_LEN) | 151 | if (rec_len > TLS13_RECORD_MAX_CIPHERTEXT_LEN) |
150 | return TLS13_IO_FAILURE; | 152 | return TLS13_IO_FAILURE; |
151 | 153 | ||