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
pgpwS1PjfpLjF.pgp
Description: PGP signature

