]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Don't ask for an invalid group in an HRR
authorMatt Caswell <matt@openssl.org>
Fri, 9 Jun 2023 08:09:06 +0000 (09:09 +0100)
committerMatt Caswell <matt@openssl.org>
Fri, 23 Jun 2023 13:14:59 +0000 (14:14 +0100)
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)

ssl/statem/extensions.c

index 3bb7c4af2625beabb3a9844bdd0ba16051947684..0a64ca2246987e24f5d8d0d848551417be02f72d 100644 (file)
@@ -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;
                 }