diff options
author | Guido Vranken <guidovranken@gmail.com> | 2018-06-11 19:38:54 +0200 |
---|---|---|
committer | Dariusz Michaluk <d.michaluk@samsung.com> | 2018-07-05 14:01:40 +0200 |
commit | e953f7d86955d53fcb6a1b68091634bf5d41ed64 (patch) | |
tree | a2bc8b13da1ae167d355123857b2de3468c56bf7 | |
parent | a961ee52b44681e9c5b206f6ccef4336ba483479 (diff) | |
download | openssl-accepted/tizen_3.0_base.tar.gz openssl-accepted/tizen_3.0_base.tar.bz2 openssl-accepted/tizen_3.0_base.zip |
Reject excessively large primes in DH key generation.submit/tizen_3.0_base/20180705.121739accepted/tizen/3.0/base/20180713.140757accepted/tizen_3.0_base
CVE-2018-0732
Signed-off-by: Guido Vranken <guidovranken@gmail.com>
(cherry picked from commit 91f7361f47b082ae61ffe1a7b17bb2adf213c7fe)
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6457)
Change-Id: I267b8ed8eb477c7da070e40dd978c0762e89d6dd
-rw-r--r-- | crypto/dh/dh_key.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/crypto/dh/dh_key.c b/crypto/dh/dh_key.c index 387558f..f235e0d 100644 --- a/crypto/dh/dh_key.c +++ b/crypto/dh/dh_key.c @@ -130,10 +130,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; |