51 lines
1.4 KiB
Diff
51 lines
1.4 KiB
Diff
|
Fix CVE-2018-0732:
|
||
|
|
||
|
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-0732
|
||
|
|
||
|
Patch copied from upstream source repository:
|
||
|
|
||
|
https://github.com/openssl/openssl/commit/3984ef0b72831da8b3ece4745cac4f8575b19098
|
||
|
|
||
|
From 3984ef0b72831da8b3ece4745cac4f8575b19098 Mon Sep 17 00:00:00 2001
|
||
|
From: Guido Vranken <guidovranken@gmail.com>
|
||
|
Date: Mon, 11 Jun 2018 19:38:54 +0200
|
||
|
Subject: [PATCH] Reject excessively large primes in DH key generation.
|
||
|
|
||
|
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)
|
||
|
---
|
||
|
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 387558f146..f235e0d682 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;
|
||
|
--
|
||
|
2.17.1
|
||
|
|