* gnu/packages/patches/openssl-1.0.2-CVE-2018-0495.patch, gnu/packages/patches/openssl-1.0.2-CVE-2018-0732.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/tls.scm (openssl)[replacement]: New field. (openssl/fixed): New variable.
		
			
				
	
	
		
			50 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			50 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
 | 
						|
 |