summaryrefslogtreecommitdiff
path: root/security/ssh/patches
diff options
context:
space:
mode:
authorsommerfeld <sommerfeld>1999-11-12 14:10:52 +0000
committersommerfeld <sommerfeld>1999-11-12 14:10:52 +0000
commit0fabaae29feffac21016b5ac4975328a5e8f53f2 (patch)
tree40d775cd8d793a052f49cad66d7f4bf011e08f45 /security/ssh/patches
parent7719a827606af7ead32f34163882a5ef9538a311 (diff)
downloadpkgsrc-0fabaae29feffac21016b5ac4975328a5e8f53f2.tar.gz
fix security problem with using RSAREF with ssh, reported in FreeBSD
PR14749 (missing range checks in rsaglue.c) see http://www.freebsd.org/cgi/query-pr.cgi?pr=14749
Diffstat (limited to 'security/ssh/patches')
-rw-r--r--security/ssh/patches/patch-aa30
1 files changed, 26 insertions, 4 deletions
diff --git a/security/ssh/patches/patch-aa b/security/ssh/patches/patch-aa
index 54a0fb926b5..7e7a1acf813 100644
--- a/security/ssh/patches/patch-aa
+++ b/security/ssh/patches/patch-aa
@@ -1,7 +1,7 @@
-$NetBSD: patch-aa,v 1.4 1998/08/07 11:13:48 agc Exp $
+$NetBSD: patch-aa,v 1.5 1999/11/12 14:10:53 sommerfeld Exp $
---- rsaglue.c.orig Tue Jan 20 07:24:08 1998
-+++ rsaglue.c Tue Feb 17 12:30:15 1998
+--- rsaglue.c.orig Wed May 12 07:19:28 1999
++++ rsaglue.c Fri Nov 12 08:40:02 1999
@@ -71,8 +71,7 @@
interface without modifying RSAREF. */
@@ -9,6 +9,28 @@ $NetBSD: patch-aa,v 1.4 1998/08/07 11:13:48 agc Exp $
-#include "rsaref2/source/global.h"
-#include "rsaref2/source/rsaref.h"
+#include <rsaref/rsaref.h>
-
+
/* Convert an integer from gmp to rsaref representation. */
+@@ -139,6 +138,10 @@
+
+ input_bits = mpz_sizeinbase(input, 2);
+ input_len = (input_bits + 7) / 8;
++ if (input_len >= MAX_RSA_MODULUS_LEN)
++ fatal("Input data has too many bits for RSAREF to handle (max %d).",
++ MAX_RSA_MODULUS_BITS);
++
+ gmp_to_rsaref(input_data, input_len, input);
+
+ rsaref_public_key(&public_key, key);
+@@ -172,6 +175,10 @@
+
+ input_bits = mpz_sizeinbase(input, 2);
+ input_len = (input_bits + 7) / 8;
++ if (input_len >= MAX_RSA_MODULUS_LEN)
++ fatal("Input data has too many bits for RSAREF to handle (max %d).",
++ MAX_RSA_MODULUS_BITS);
++
+ gmp_to_rsaref(input_data, input_len, input);
+
+ rsaref_private_key(&private_key, key);