[openssl-commits] [openssl] OpenSSL_1_1_0-stable update

Matt Caswell matt at openssl.org
Tue Jun 12 09:29:56 UTC 2018


The branch OpenSSL_1_1_0-stable has been updated
       via  ea7abeeabf92b7aca160bdd0208636d4da69f4f4 (commit)
      from  9a236d5a7158d38b933656cacc31dfd4ff4fcc08 (commit)


- Log -----------------------------------------------------------------
commit ea7abeeabf92b7aca160bdd0208636d4da69f4f4
Author: Guido Vranken <guidovranken at gmail.com>
Date:   Mon Jun 11 19:38:54 2018 +0200

    Reject excessively large primes in DH key generation.
    
    CVE-2018-0732
    
    Signed-off-by: Guido Vranken <guidovranken at gmail.com>
    
    (cherry picked from commit 91f7361f47b082ae61ffe1a7b17bb2adf213c7fe)
    
    Reviewed-by: Tim Hudson <tjh at openssl.org>
    Reviewed-by: Matt Caswell <matt at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/6457)

-----------------------------------------------------------------------

Summary of changes:
 crypto/dh/dh_key.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/crypto/dh/dh_key.c b/crypto/dh/dh_key.c
index fce9ff4..58003d7 100644
--- a/crypto/dh/dh_key.c
+++ b/crypto/dh/dh_key.c
@@ -78,10 +78,15 @@ static int generate_key(DH *dh)
     int ok = 0;
     int generate_new_key = 0;
     unsigned l;
-    BN_CTX *ctx;
+    BN_CTX *ctx = NULL;
     BN_MONT_CTX *mont = NULL;
     BIGNUM *pub_key = NULL, *priv_key = NULL;
 
+    if (BN_num_bits(dh->p) > OPENSSL_DH_MAX_MODULUS_BITS) {
+        DHerr(DH_F_GENERATE_KEY, DH_R_MODULUS_TOO_LARGE);
+        return 0;
+    }
+
     ctx = BN_CTX_new();
     if (ctx == NULL)
         goto err;


More information about the openssl-commits mailing list