| commit 4ad43d511f6cf064c66eb4bfd0fb0919b5dd8a86 |
| Author: Dr. Stephen Henson <steve@openssl.org> |
| Date: Thu May 29 15:00:05 2014 +0100 |
| |
| Fix CVE-2014-3470 |
| |
| Check session_cert is not NULL before dereferencing it. |
| |
| diff --git a/ssl/s3_clnt.c b/ssl/s3_clnt.c |
| index d35376d..4324f8d 100644 |
| |
| |
| @@ -2511,6 +2511,13 @@ int ssl3_send_client_key_exchange(SSL *s) |
| int ecdh_clnt_cert = 0; |
| int field_size = 0; |
| |
| + if (s->session->sess_cert == NULL) |
| + { |
| + ssl3_send_alert(s,SSL3_AL_FATAL,SSL_AD_UNEXPECTED_MESSAGE); |
| + SSLerr(SSL_F_SSL3_SEND_CLIENT_KEY_EXCHANGE,SSL_R_UNEXPECTED_MESSAGE); |
| + goto err; |
| + } |
| + |
| /* Did we send out the client's |
| * ECDH share for use in premaster |
| * computation as part of client certificate? |