-
Notifications
You must be signed in to change notification settings - Fork 761
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
security/openssl: Actually add patch file
MFH: 2018Q2 Security: c82ecac5-6e3f-11e8-8777-b499baebfeaf
- Loading branch information
Showing
2 changed files
with
40 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| 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 387558f1467..f235e0d682b 100644 | ||
| --- crypto/dh/dh_key.c.orig | ||
| +++ 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; |