diff options
author | Matt Caswell <matt@openssl.org> | 2023-06-09 09:09:06 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2023-06-23 14:14:59 +0100 |
commit | 7a949ae5f1799a6629cf6deb44ae0f38455a73dd (patch) | |
tree | 5abc3503b24d1e13db588f0e6508f11c65050c4c /ssl | |
parent | a02571a02473889d13fe7996e0d2d052328f3199 (diff) |
Don't ask for an invalid group in an HRR
If the client sends us a group in a key_share that is in our
supported_groups list but is otherwise not suitable (e.g. not compatible
with TLSv1.3) we reject it. We should not ask for that same group again
in a subsequent HRR.
Fixes #21157
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Todd Short <todd.short@me.com>
(Merged from https://github.com/openssl/openssl/pull/21163)
Diffstat (limited to 'ssl')
-rw-r--r-- | ssl/statem/extensions.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ssl/statem/extensions.c b/ssl/statem/extensions.c index 3bb7c4af26..0a64ca2246 100644 --- a/ssl/statem/extensions.c +++ b/ssl/statem/extensions.c @@ -1449,7 +1449,11 @@ static int final_key_share(SSL_CONNECTION *s, unsigned int context, int sent) group_id = pgroups[i]; if (check_in_list(s, group_id, clntgroups, clnt_num_groups, - 1)) + 1) + && tls_group_allowed(s, group_id, + SSL_SECOP_CURVE_SUPPORTED) + && tls_valid_group(s, group_id, TLS1_3_VERSION, + TLS1_3_VERSION, 0, NULL)) break; } |