2d448ce
From 8a453a7b0f1e667b7369eb73b00843a8decdecc9 Mon Sep 17 00:00:00 2001
2d448ce
From: Daniel Stenberg <daniel@haxx.se>
2d448ce
Date: Thu, 11 Feb 2016 13:52:20 +0100
2d448ce
Subject: [PATCH] diffie_hellman_sha1: convert bytes to bits
2d448ce
2d448ce
As otherwise we get far too small numbers.
2d448ce
2d448ce
CVE-2016-0787
2d448ce
2d448ce
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
2d448ce
---
2d448ce
 src/kex.c | 2 +-
2d448ce
 1 file changed, 1 insertion(+), 1 deletion(-)
2d448ce
2d448ce
diff --git a/src/kex.c b/src/kex.c
2d448ce
index 6349457..e89b36c 100644
2d448ce
--- a/src/kex.c
2d448ce
+++ b/src/kex.c
2d448ce
@@ -133,7 +133,7 @@ static int diffie_hellman_sha1(LIBSSH2_SESSION *session,
2d448ce
         memset(&exchange_state->req_state, 0, sizeof(packet_require_state_t));
2d448ce
 
2d448ce
         /* Generate x and e */
2d448ce
-        _libssh2_bn_rand(exchange_state->x, group_order, 0, -1);
2d448ce
+        _libssh2_bn_rand(exchange_state->x, group_order * 8 - 1, 0, -1);
2d448ce
         _libssh2_bn_mod_exp(exchange_state->e, g, exchange_state->x, p,
2d448ce
                             exchange_state->ctx);
2d448ce
 
2d448ce
-- 
2d448ce
2.7.0
2d448ce