New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 3 users
Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Dec 2014
Cc:



Sign in to add a comment
LibreSSL vulnerable to Denial-of-Service (null pointer dereference)
Reported by groebert@google.com, Nov 26 2014 Back to list
Dear LibreSSL developers,

we identified a minor security issues in libressl-2.1.1.

Please confirm at your earliest convenience that you have received this vulnerability report. We will gladly work with you so you can successfully confirm and reproduce this issue.

Also note that this bug is NOT subject to a 90 day disclosure deadline. This is because exploitability is unlikely.

In the case you chose not to fix these issues please provide data points as we may make public all this information. In that case, we understand you will have no problem having this information public.

Once you have reproduced the issue, we’d appreciate to learn your expected timeline for a security update to be released. With any fix, please give credit for identifying the vulnerability to "Felix Groebert of the Google Security Team".

Don’t hesitate to let us know if you have any questions!

LibreSSL is vulnerable to CVE-2014-3510. From the CVE:

The ssl3_send_client_key_exchange function in s3_clnt.c in OpenSSL 0.9.8 before 0.9.8zb, 1.0.0 before 1.0.0n, and 1.0.1 before 1.0.1i allows remote DTLS servers to cause a denial of service (NULL pointer dereference and client application crash) via a crafted handshake message in conjunction with a (1) anonymous DH or (2) anonymous ECDH ciphersuite.

https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff;f=ssl/s3_clnt.c;h=0a006a75342893fd4f2fdd30f930ec220b7694fa;hp=9a94de00d8492a292995a90b3f0c45b1fe85e087;hb=17160033765480453be0a41335fa6b833691c049;hpb=280b1f1ad12131defcd986676a8fc9717aaa601b

Using specific anonymous cipher suites will result in a null pointer dereference in d1_clnt.c on line 988 and 1072 in function dtls1_send_client_key_exchange.

988                             if (s->session->sess_cert->peer_dh_tmp != NULL)

(gdb) p s->session->sess_cert
$1 = (struct sess_cert_st *) 0x0

We recommend to check if sess_cert is non NULL.

Cheers
Felix
 
Comment 1 by groebert@google.com, Dec 12 2014
Fixed in libressl-2.1.2/ssl/s3_clnt.c
Comment 4 by groebert@google.com, Dec 12 2014
Labels: -Restrict-View-Commit Fixed-2014-Nov-19
Owner: groebert@google.com
Status: Fixed
Comment 5 by groebert@google.com, Dec 12 2014
Labels: -Fixed-2014-Nov-19 Fixed-2014-Dec-08
Sign in to add a comment