mturk / rpms / openssl

Forked from rpms/openssl 3 years ago
Clone
6dc7017
Tavis Ormandy and Will Drewry of the Google Security Team discovered a buffer 
6dc7017
overflow in SSL_get_shared_ciphers utility function, used by some 
6dc7017
applications such as exim and mysql.  An attacker could send a list of 
6dc7017
ciphers that would overrun a buffer CVE-2006-3738
6dc7017
6dc7017
--- ssl/ssl_lib.c	2005-10-01 00:38:20.000000000 +0100
6dc7017
+++ ssl/ssl_lib.c	2006-08-28 19:08:37.401404000 +0100
6dc7017
@@ -1219,7 +1219,7 @@ char *SSL_get_shared_ciphers(const SSL *
6dc7017
 		c=sk_SSL_CIPHER_value(sk,i);
6dc7017
 		for (cp=c->name; *cp; )
6dc7017
 			{
6dc7017
-			if (len-- == 0)
6dc7017
+			if (len-- <= 0)
6dc7017
 				{
6dc7017
 				*p='\0';
6dc7017
 				return(buf);
6dc7017
--- ssl/s3_srvr.c	2005-10-01 00:38:20.000000000 +0100
6dc7017
+++ ssl/s3_srvr.c	2006-08-28 19:16:39.313556000 +0100
6dc7017
@@ -2017,7 +2017,7 @@ int ssl3_get_client_key_exchange(SSL *s)
6dc7017
 
6dc7017
                 if (kssl_ctx->client_princ)
6dc7017
                         {
6dc7017
-                        int len = strlen(kssl_ctx->client_princ);
6dc7017
+                        size_t len = strlen(kssl_ctx->client_princ);
6dc7017
                         if ( len < SSL_MAX_KRB5_PRINCIPAL_LENGTH ) 
6dc7017
                                 {
6dc7017
                                 s->session->krb5_client_princ_len = len;