1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
|
Only in openssl7: .CHANGES.swp
diff -ur openssl7/CHANGES ossl7/CHANGES
--- openssl7/CHANGES Thu Sep 4 12:52:10 2003
+++ ossl7/CHANGES Fri Sep 26 13:53:53 2003
@@ -2,7 +2,18 @@
OpenSSL CHANGES
_______________
- Changes between 0.9.7b and 0.9.7c [xx XXX 2003]
+ Changes between 0.9.7b and 0.9.7c [30 Sep 2003]
+
+ *) Fix various ASN1 parsing bugs revealed by running the NISCC test
+ suite. These cause the ASN1 code to perform an out of bounds read
+ when presented with an invalid tag (CAN-2003-0543 and CAN-2003-0544)
+ or corrupt the stack when presented with an invalid ANY type
+ (CAN-2003-0545).
+ [Steve Henson]
+
+ *) If verify callback ignores invalid public key errors don't try to check
+ certificate signature with the NULL public key.
+ [Steve Henson]
*) New -ignore_err option in ocsp application to stop the server
exiting on the first error in a request.
@@ -1980,7 +1991,16 @@
*) Clean old EAY MD5 hack from e_os.h.
[Richard Levitte]
- Changes between 0.9.6j and 0.9.6k [xx XXX 2003]
+ Changes between 0.9.6j and 0.9.6k [30 Sep 2003]
+
+ *) Fix various ASN1 parsing bugs revealed by running the NISCC test
+ suite. These cause the ASN1 code to perform an out of bounds read
+ when presented with an invalid tag (CAN-2003-0543 and CAN-2003-0544).
+ [Steve Henson]
+
+ *) If verify callback ignores invalid public key errors don't try to check
+ certificate signature with the NULL public key.
+ [Steve Henson]
*) In ssl3_accept() (ssl/s3_srvr.c) only accept a client certificate
if the server requested one: as stated in TLS 1.0 and SSL 3.0
diff -ur openssl7/NEWS ossl7/NEWS
--- openssl7/NEWS Thu Apr 10 20:37:53 2003
+++ ossl7/NEWS Fri Sep 26 13:49:51 2003
@@ -5,6 +5,13 @@
This file gives a brief overview of the major changes between each OpenSSL
release. For more details please read the CHANGES file.
+ Major changes between OpenSSL 0.9.7b and OpenSSL 0.9.7c:
+
+ o Security: fix various ASN1 parsing bugs.
+ o New -ignore_err option to OCSP utility.
+ o Various interop and bug fixes in S/MIME code.
+ o SSL/TLS protocol fix for unrequested client certificates.
+
Major changes between OpenSSL 0.9.7a and OpenSSL 0.9.7b:
o Security: counter the Klima-Pokorny-Rosa extension of
@@ -73,6 +80,11 @@
o SSL/TLS: add callback to retrieve SSL/TLS messages.
o SSL/TLS: support AES cipher suites (RFC3268).
+ Major changes between OpenSSL 0.9.6j and OpenSSL 0.9.6k:
+
+ o Security: fix various ASN1 parsing bugs.
+ o SSL/TLS protocol fix for unrequested client certificates.
+
Major changes between OpenSSL 0.9.6i and OpenSSL 0.9.6j:
o Security: counter the Klima-Pokorny-Rosa extension of
diff -ur openssl7/crypto/asn1/asn1_lib.c ossl7/crypto/asn1/asn1_lib.c
--- openssl7/crypto/asn1/asn1_lib.c Fri Aug 2 19:03:41 2002
+++ ossl7/crypto/asn1/asn1_lib.c Fri Sep 26 13:51:38 2003
@@ -104,10 +104,12 @@
l<<=7L;
l|= *(p++)&0x7f;
if (--max == 0) goto err;
+ if (l > (INT_MAX >> 7L)) goto err;
}
l<<=7L;
l|= *(p++)&0x7f;
tag=(int)l;
+ if (--max == 0) goto err;
}
else
{
diff -ur openssl7/crypto/asn1/tasn_dec.c ossl7/crypto/asn1/tasn_dec.c
--- openssl7/crypto/asn1/tasn_dec.c Tue Nov 12 13:21:26 2002
+++ ossl7/crypto/asn1/tasn_dec.c Fri Sep 26 13:51:38 2003
@@ -691,6 +691,7 @@
int asn1_ex_c2i(ASN1_VALUE **pval, unsigned char *cont, int len, int utype, char *free_cont, const ASN1_ITEM *it)
{
+ ASN1_VALUE **opval = NULL;
ASN1_STRING *stmp;
ASN1_TYPE *typ = NULL;
int ret = 0;
@@ -705,6 +706,7 @@
*pval = (ASN1_VALUE *)typ;
} else typ = (ASN1_TYPE *)*pval;
if(utype != typ->type) ASN1_TYPE_set(typ, utype, NULL);
+ opval = pval;
pval = (ASN1_VALUE **)&typ->value.ptr;
}
switch(utype) {
@@ -796,7 +798,12 @@
ret = 1;
err:
- if(!ret) ASN1_TYPE_free(typ);
+ if(!ret)
+ {
+ ASN1_TYPE_free(typ);
+ if (opval)
+ *opval = NULL;
+ }
return ret;
}
diff -ur openssl7/crypto/opensslv.h ossl7/crypto/opensslv.h
--- openssl7/crypto/opensslv.h Thu Apr 10 20:40:19 2003
+++ ossl7/crypto/opensslv.h Fri Sep 26 13:39:07 2003
@@ -25,8 +25,8 @@
* (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
* major minor fix final patch/beta)
*/
-#define OPENSSL_VERSION_NUMBER 0x00907030L
-#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.7c-dev xx XXX 2003"
+#define OPENSSL_VERSION_NUMBER 0x0090703fL
+#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.7c 30 Sep 2003"
#define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT
diff -ur openssl7/crypto/x509/x509_vfy.c ossl7/crypto/x509/x509_vfy.c
--- openssl7/crypto/x509/x509_vfy.c Wed Jun 4 00:40:47 2003
+++ ossl7/crypto/x509/x509_vfy.c Fri Sep 26 13:51:38 2003
@@ -674,7 +674,7 @@
ok=(*cb)(0,ctx);
if (!ok) goto end;
}
- if (X509_verify(xs,pkey) <= 0)
+ else if (X509_verify(xs,pkey) <= 0)
/* XXX For the final trusted self-signed cert,
* this is a waste of time. That check should
* optional so that e.g. 'openssl x509' can be
|