summaryrefslogtreecommitdiff
path: root/src/lib/libssl/ssl_clnt.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/ssl_clnt.c')
-rw-r--r--src/lib/libssl/ssl_clnt.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/lib/libssl/ssl_clnt.c b/src/lib/libssl/ssl_clnt.c
index b349f24cb0..04b3132d35 100644
--- a/src/lib/libssl/ssl_clnt.c
+++ b/src/lib/libssl/ssl_clnt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_clnt.c,v 1.120 2021/11/29 16:00:32 jsing Exp $ */ 1/* $OpenBSD: ssl_clnt.c,v 1.121 2021/12/04 13:15:10 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 *
@@ -1223,6 +1223,7 @@ ssl3_get_server_certificate(SSL *s)
1223static int 1223static int
1224ssl3_get_server_kex_dhe(SSL *s, EVP_PKEY **pkey, CBS *cbs) 1224ssl3_get_server_kex_dhe(SSL *s, EVP_PKEY **pkey, CBS *cbs)
1225{ 1225{
1226 int invalid_key;
1226 SESS_CERT *sc = NULL; 1227 SESS_CERT *sc = NULL;
1227 DH *dh = NULL; 1228 DH *dh = NULL;
1228 long alg_a; 1229 long alg_a;
@@ -1235,7 +1236,7 @@ ssl3_get_server_kex_dhe(SSL *s, EVP_PKEY **pkey, CBS *cbs)
1235 1236
1236 if (!ssl_kex_peer_params_dhe(dh, cbs)) 1237 if (!ssl_kex_peer_params_dhe(dh, cbs))
1237 goto decode_err; 1238 goto decode_err;
1238 if (!ssl_kex_peer_public_dhe(dh, cbs)) 1239 if (!ssl_kex_peer_public_dhe(dh, cbs, &invalid_key))
1239 goto decode_err; 1240 goto decode_err;
1240 1241
1241 /* 1242 /*
@@ -1246,6 +1247,11 @@ ssl3_get_server_kex_dhe(SSL *s, EVP_PKEY **pkey, CBS *cbs)
1246 SSLerror(s, SSL_R_BAD_DH_P_LENGTH); 1247 SSLerror(s, SSL_R_BAD_DH_P_LENGTH);
1247 goto err; 1248 goto err;
1248 } 1249 }
1250 if (invalid_key) {
1251 ssl3_send_alert(s, SSL3_AL_FATAL, SSL_AD_ILLEGAL_PARAMETER);
1252 SSLerror(s, SSL_R_BAD_DH_PUB_KEY_LENGTH);
1253 goto err;
1254 }
1249 1255
1250 if (alg_a & SSL_aRSA) 1256 if (alg_a & SSL_aRSA)
1251 *pkey = X509_get_pubkey(sc->peer_pkeys[SSL_PKEY_RSA].x509); 1257 *pkey = X509_get_pubkey(sc->peer_pkeys[SSL_PKEY_RSA].x509);