Fix null-pointer assignment in do_change_cipher_spec() revealed OpenSSL_0_9_6m
authorMark J. Cox <mark@openssl.org>
Wed, 17 Mar 2004 11:40:44 +0000 (11:40 +0000)
committerMark J. Cox <mark@openssl.org>
Wed, 17 Mar 2004 11:40:44 +0000 (11:40 +0000)
by using the Codenomicon TLS Test Tool (CAN-2004-0079)

Prepare for 0.9.6m tagging and release

Submitted by: Steven Henson
Reviewed by: Joe Orton
Approved by: Mark Cox

CHANGES
FAQ
LICENSE
NEWS
README
STATUS
crypto/opensslv.h
openssl.spec
ssl/s3_pkt.c

diff --git a/CHANGES b/CHANGES
index c0018673070d9b4d964d411f9153d8d82d3a9379..fc810ea4e13642a468b357a214f675773704d507 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,9 +2,11 @@
  OpenSSL CHANGES
  _______________
 
- Changes between 0.9.6l and 0.9.6m  [xx XXX xxxx]
+ Changes between 0.9.6l and 0.9.6m  [17 Mar 2004]
 
-  *)
+  *) Fix null-pointer assignment in do_change_cipher_spec() revealed
+     by using the Codenomicon TLS Test Tool (CAN-2004-0079)
+     [Joe Orton, Steve Henson]
 
  Changes between 0.9.6k and 0.9.6l  [04 Nov 2003]
 
diff --git a/FAQ b/FAQ
index 519ab893123440e715b7f45c9fa26541a70ebea2..fe739d31a71a9c2b77be5fd94b7a6d8b74251e32 100644 (file)
--- a/FAQ
+++ b/FAQ
@@ -63,7 +63,7 @@ OpenSSL  -  Frequently Asked Questions
 * Which is the current version of OpenSSL?
 
 The current version is available from <URL: http://www.openssl.org>.
-OpenSSL 0.9.7c was released on September 30, 2003.
+OpenSSL 0.9.7d was released on March 17, 2004.
 
 In addition to the current stable release, you can also access daily
 snapshots of the OpenSSL development version at <URL:
diff --git a/LICENSE b/LICENSE
index dddb07842bb380171e4b606b4e89dfa1cb081691..40277883a5925e352fc56851651fc86c26f16e63 100644 (file)
--- a/LICENSE
+++ b/LICENSE
@@ -12,7 +12,7 @@
   ---------------
 
 /* ====================================================================
- * Copyright (c) 1998-2003 The OpenSSL Project.  All rights reserved.
+ * Copyright (c) 1998-2004 The OpenSSL Project.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
diff --git a/NEWS b/NEWS
index 79dea2d72c9e425915432dc8f726e52507af5a56..ac8f777e840aa074d0a117d48a4d4e75e092bf51 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,10 @@
   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.6l and OpenSSL 0.9.6m:
+
+      o Security: fix null-pointer bug leading to crash
+
   Major changes between OpenSSL 0.9.6k and OpenSSL 0.9.6l:
 
       o Security: fix ASN1 bug leading to large recursion
diff --git a/README b/README
index fc681edfd29336762e8f949ac7b8e5c6c9097906..406e04922432ec20f7a4ea7cdd7d215a43108322 100644 (file)
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
 
- OpenSSL 0.9.6l 04 Nov 2003
+ OpenSSL 0.9.6m 17 Mar 2004
 
- Copyright (c) 1998-2003 The OpenSSL Project
+ Copyright (c) 1998-2004 The OpenSSL Project
  Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
  All rights reserved.
 
diff --git a/STATUS b/STATUS
index 4594171b5b1f4d4d8de481fe51c98548727e95e6..671e9c97828b7ee56d72456a5a65162af7eec324 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -1,14 +1,16 @@
 
   OpenSSL STATUS                           Last modified at
-  ______________                           $Date: 2003/11/04 11:30:38 $
+  ______________                           $Date: 2004/03/17 11:40:42 $
 
   DEVELOPMENT STATE
 
     o  OpenSSL 0.9.8:  Under development...
+    o  OpenSSL 0.9.7d: Released on March     17th, 2004
     o  OpenSSL 0.9.7c: Released on September 30th, 2003
     o  OpenSSL 0.9.7b: Released on April     10th, 2003
     o  OpenSSL 0.9.7a: Released on February  19th, 2003
     o  OpenSSL 0.9.7:  Released on December  31st, 2002
+    o  OpenSSL 0.9.6m: Released on March     17th, 2004
     o  OpenSSL 0.9.6l: Released on November   4th, 2003
     o  OpenSSL 0.9.6k: Released on September 30th, 2003
     o  OpenSSL 0.9.6j: Released on April     10th, 2003
index 1c4bcf26eef365910cef40f579c39981ac63465d..e929524eda4d9c0e3cb94434fdb52406ebc75007 100644 (file)
@@ -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 0x009060d0L
-#define OPENSSL_VERSION_TEXT   "OpenSSL 0.9.6m-dev xx XXX xxxx"
+#define OPENSSL_VERSION_NUMBER 0x009060dfL
+#define OPENSSL_VERSION_TEXT   "OpenSSL 0.9.6m 17 Mar 2004"
 #define OPENSSL_VERSION_PTEXT  " part of " OPENSSL_VERSION_TEXT
 
 
index c93b917dfd0a6bfadad204eccaa0b3fd837d03b4..757c770bb672ef107f78a4b44143d3e64d329640 100644 (file)
@@ -1,7 +1,7 @@
 %define libmaj 0
 %define libmin 9
 %define librel 6
-%define librev l
+%define librev m
 Release: 1
 
 %define openssldir /var/ssl
index caf975d68880e04d004950b841f8d0bf7d81d902..75b49f715f130679bc5528422a142d0a944d773e 100644 (file)
@@ -1079,6 +1079,14 @@ start:
                        goto err;
                        }
 
+               /* Check we have a cipher to change to */
+               if (s->s3->tmp.new_cipher == NULL)
+                       {
+                       i=SSL_AD_UNEXPECTED_MESSAGE;
+                       SSLerr(SSL_F_SSL3_GET_CERT_VERIFY,SSL_R_CCS_RECEIVED_EARLY);
+                       goto err;
+                       }
+
                rr->length=0;
                s->s3->change_cipher_spec=1;
                if (!do_change_cipher_spec(s))