aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/openssl/crypto/rsa/rsa.h
diff options
context:
space:
mode:
authorColin Percival <cperciva@FreeBSD.org>2006-09-28 13:06:23 +0000
committerColin Percival <cperciva@FreeBSD.org>2006-09-28 13:06:23 +0000
commit30a6ffb3330a4ce39d12906a7dda5c4d9ed91dc3 (patch)
treedd781c2038cbc6db2809f44aae4144784fa53814 /crypto/openssl/crypto/rsa/rsa.h
parentb55396780782c474e291f8557a14c033f4c6941d (diff)
downloadsrc-30a6ffb3330a4ce39d12906a7dda5c4d9ed91dc3.tar.gz
src-30a6ffb3330a4ce39d12906a7dda5c4d9ed91dc3.zip
Correct multiple vulnerabilities in crypto(3).
Limit the size of public keys used in order to protect applications from a denial of service via insane key sizes. Security: FreeBSD-SA-06:23.openssl Approved by: so (cperciva)
Notes
Notes: svn path=/releng/4.11/; revision=162724
Diffstat (limited to 'crypto/openssl/crypto/rsa/rsa.h')
-rw-r--r--crypto/openssl/crypto/rsa/rsa.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/crypto/openssl/crypto/rsa/rsa.h b/crypto/openssl/crypto/rsa/rsa.h
index 1ea0fe10a535..050715aec74c 100644
--- a/crypto/openssl/crypto/rsa/rsa.h
+++ b/crypto/openssl/crypto/rsa/rsa.h
@@ -151,6 +151,17 @@ struct rsa_st
BN_BLINDING *blinding;
};
+#ifndef OPENSSL_RSA_MAX_MODULUS_BITS
+# define OPENSSL_RSA_MAX_MODULUS_BITS 16400
+#endif
+
+#ifndef OPENSSL_RSA_SMALL_MODULUS_BITS
+# define OPENSSL_RSA_SMALL_MODULUS_BITS 4112
+#endif
+#ifndef OPENSSL_RSA_MAX_PUBEXP_BITS
+# define OPENSSL_RSA_MAX_PUBEXP_BITS 72 /* exponent limit enforced for "large" modulus only */
+#endif
+
#define RSA_3 0x3L
#define RSA_F4 0x10001L
@@ -344,6 +355,7 @@ void ERR_load_RSA_strings(void);
#define RSA_R_INVALID_MESSAGE_LENGTH 131
#define RSA_R_IQMP_NOT_INVERSE_OF_Q 126
#define RSA_R_KEY_SIZE_TOO_SMALL 120
+#define RSA_R_MODULUS_TOO_LARGE 105
#define RSA_R_NULL_BEFORE_BLOCK_MISSING 113
#define RSA_R_N_DOES_NOT_EQUAL_P_Q 127
#define RSA_R_OAEP_DECODING_ERROR 121