Hi Kurt, as discussed in #debian-security I will upload an NMU to fix this. debdiff attached and also archived on:
http://people.debian.org/~nion/nmu-diff/openssl-0.9.8g-10_0.9.8g-10.1.patch Cheers Nico -- Nico Golde - http://www.ngolde.de - [EMAIL PROTECTED] - GPG: 0x73647CFF For security reasons, all text in this mail is double-rot13 encrypted.
diff -u openssl-0.9.8g/debian/changelog openssl-0.9.8g/debian/changelog --- openssl-0.9.8g/debian/changelog +++ openssl-0.9.8g/debian/changelog @@ -1,3 +1,16 @@ +openssl (0.9.8g-10.1) unstable; urgency=high + + * Non-maintainer upload by the Security team. + * Fix denial of service if the 'Server Key exchange message' + is omitted from a TLS handshake which could lead to a client + crash (CVE-2008-1672; Closes: #483379). + This only works if openssl is compiled with enable-tlsext which is + done in Debian. + * Fix double free in TLS server name extension which leads to a remote + denial of service (CVE-2008-0891; Closes: #483379). + + -- Nico Golde <[EMAIL PROTECTED]> Tue, 27 May 2008 11:13:44 +0200 + openssl (0.9.8g-10) unstable; urgency=low * undefine HZ so that the code falls back to sysconf(_SC_CLK_TCK) diff -u openssl-0.9.8g/ssl/t1_lib.c openssl-0.9.8g/ssl/t1_lib.c --- openssl-0.9.8g/ssl/t1_lib.c +++ openssl-0.9.8g/ssl/t1_lib.c @@ -332,6 +332,7 @@ s->session->tlsext_hostname[len]='\0'; if (strlen(s->session->tlsext_hostname) != len) { OPENSSL_free(s->session->tlsext_hostname); + s->session->tlsext_hostname = NULL; *al = TLS1_AD_UNRECOGNIZED_NAME; return 0; } only in patch2: unchanged: --- openssl-0.9.8g.orig/ssl/s3_clnt.c +++ openssl-0.9.8g/ssl/s3_clnt.c @@ -1967,6 +1967,13 @@ { DH *dh_srvr,*dh_clnt; + 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; + } + if (s->session->sess_cert->peer_dh_tmp != NULL) dh_srvr=s->session->sess_cert->peer_dh_tmp; else
pgpZkYfITRIxt.pgp
Description: PGP signature