Initialise X509_STORE_CTX properly so CRLs with nextUpdate date in the past
authorDr. Stephen Henson <steve@openssl.org>
Tue, 6 Sep 2011 15:14:41 +0000 (15:14 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Tue, 6 Sep 2011 15:14:41 +0000 (15:14 +0000)
produce an error (CVE-2011-3207)

CHANGES
crypto/x509/x509_vfy.c

diff --git a/CHANGES b/CHANGES
index 178ab09388e6b11412294c37de9dc65167c8ceb0..c158de99db76ca6510436d703ebd25499888e0e6 100644 (file)
--- a/CHANGES
+++ b/CHANGES
 
  Changes between 1.0.0d and 1.0.0e [xx XXX xxxx]
 
+  *) Fix bug where CRLs with nextUpdate in the past are sometimes accepted
+     by initialising X509_STORE_CTX properly. (CVE-2011-3207)
+     [Kaspar Brand <ossl@velox.ch>]
+
   *) Fix SSL memory handling for (EC)DH ciphersuites, in particular
-     for multi-threaded use of ECDH.
+     for multi-threaded use of ECDH. (CVE-2011-3210)
      [Adam Langley (Google)]
 
   *) Fix x509_name_ex_d2i memory leak on bad inputs.
index ec9f6259feaebd21e27b51782f50c69c61a52777..0381c4a5028543d7473a5d281a235728a4299189 100644 (file)
@@ -698,6 +698,7 @@ static int check_cert(X509_STORE_CTX *ctx)
        x = sk_X509_value(ctx->chain, cnum);
        ctx->current_cert = x;
        ctx->current_issuer = NULL;
+       ctx->current_crl_score = 0;
        ctx->current_reasons = 0;
        while (ctx->current_reasons != CRLDP_ALL_REASONS)
                {
@@ -2010,6 +2011,9 @@ int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, X509 *x509,
        ctx->error_depth=0;
        ctx->current_cert=NULL;
        ctx->current_issuer=NULL;
+       ctx->current_crl=NULL;
+       ctx->current_crl_score=0;
+       ctx->current_reasons=0;
        ctx->tree = NULL;
        ctx->parent = NULL;