| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent b0fadbe commit 8386ce7
218 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -2,6 +2,44 @@ | |||
| 2 | 2 | OpenSSL CHANGES | |
| 3 | 3 | _______________ | |
| 4 | 4 | ||
| 5 | + This is a high-level summary of the most important changes. | ||
| 6 | + For a full list of changes, see the git commit log; for example, | ||
| 7 | + https://github.com/openssl/openssl/commits/ and pick the appropriate | ||
| 8 | + release branch. | ||
| 9 | + | ||
| 10 | + Changes between 1.0.2l and 1.0.2m [2 Nov 2017] | ||
| 11 | + | ||
| 12 | + *) bn_sqrx8x_internal carry bug on x86_64 | ||
| 13 | + | ||
| 14 | + There is a carry propagating bug in the x86_64 Montgomery squaring | ||
| 15 | + procedure. No EC algorithms are affected. Analysis suggests that attacks | ||
| 16 | + against RSA and DSA as a result of this defect would be very difficult to | ||
| 17 | + perform and are not believed likely. Attacks against DH are considered just | ||
| 18 | + feasible (although very difficult) because most of the work necessary to | ||
| 19 | + deduce information about a private key may be performed offline. The amount | ||
| 20 | + of resources required for such an attack would be very significant and | ||
| 21 | + likely only accessible to a limited number of attackers. An attacker would | ||
| 22 | + additionally need online access to an unpatched system using the target | ||
| 23 | + private key in a scenario with persistent DH parameters and a private | ||
| 24 | + key that is shared between multiple clients. | ||
| 25 | + | ||
| 26 | + This only affects processors that support the BMI1, BMI2 and ADX extensions | ||
| 27 | + like Intel Broadwell (5th generation) and later or AMD Ryzen. | ||
| 28 | + | ||
| 29 | + This issue was reported to OpenSSL by the OSS-Fuzz project. | ||
| 30 | + (CVE-2017-3736) | ||
| 31 | + [Andy Polyakov] | ||
| 32 | + | ||
| 33 | + *) Malformed X.509 IPAddressFamily could cause OOB read | ||
| 34 | + | ||
| 35 | + If an X.509 certificate has a malformed IPAddressFamily extension, | ||
| 36 | + OpenSSL could do a one-byte buffer overread. The most likely result | ||
| 37 | + would be an erroneous display of the certificate in text format. | ||
| 38 | + | ||
| 39 | + This issue was reported to OpenSSL by the OSS-Fuzz project. | ||
| 40 | + (CVE-2017-3735) | ||
| 41 | + [Rich Salz] | ||
| 42 | + | ||
| 5 | 43 | Changes between 1.0.2k and 1.0.2l [25 May 2017] | |
| 6 | 44 | ||
| 7 | 45 | *) Have 'config' recognise 64-bit mingw and choose 'mingw64' as the target | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -190,10 +190,8 @@ | |||
| 190 | 190 | the failure that isn't a problem in OpenSSL itself (like a missing | |
| 191 | 191 | or malfunctioning bc). If it is a problem with OpenSSL itself, | |
| 192 | 192 | try removing any compiler optimization flags from the CFLAG line | |
| 193 | - in Makefile.ssl and run "make clean; make". Please send a bug | ||
| 194 | - report to <openssl-bugs@openssl.org>, including the output of | ||
| 195 | - "make report" in order to be added to the request tracker at | ||
| 196 | - http://www.openssl.org/support/rt.html. | ||
| 193 | + in Makefile.ssl and run "make clean; make". To report a bug please open an | ||
| 194 | + issue on GitHub, at https://github.com/openssl/openssl/issues. | ||
| 197 | 195 | ||
| 198 | 196 | 4. If everything tests ok, install OpenSSL with | |
| 199 | 197 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -4,7 +4,7 @@ | |||
| 4 | 4 | ## Makefile for OpenSSL | |
| 5 | 5 | ## | |
| 6 | 6 | ||
| 7 | - VERSION=1.0.2l | ||
| 7 | + VERSION=1.0.2m | ||
| 8 | 8 | MAJOR=1 | |
| 9 | 9 | MINOR=0.2 | |
| 10 | 10 | SHLIB_VERSION_NUMBER=1.0.0 | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -4,7 +4,7 @@ | |||
| 4 | 4 | ## Makefile for OpenSSL | |
| 5 | 5 | ## | |
| 6 | 6 | ||
| 7 | - VERSION=1.0.2l | ||
| 7 | + VERSION=1.0.2m | ||
| 8 | 8 | MAJOR=1 | |
| 9 | 9 | MINOR=0.2 | |
| 10 | 10 | SHLIB_VERSION_NUMBER=1.0.0 | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -5,6 +5,11 @@ | |||
| 5 | 5 | This file gives a brief overview of the major changes between each OpenSSL | |
| 6 | 6 | release. For more details please read the CHANGES file. | |
| 7 | 7 | ||
| 8 | + Major changes between OpenSSL 1.0.2l and OpenSSL 1.0.2m [2 Nov 2017] | ||
| 9 | + | ||
| 10 | + o bn_sqrx8x_internal carry bug on x86_64 (CVE-2017-3736) | ||
| 11 | + o Malformed X.509 IPAddressFamily could cause OOB read (CVE-2017-3735) | ||
| 12 | + | ||
| 8 | 13 | Major changes between OpenSSL 1.0.2k and OpenSSL 1.0.2l [25 May 2017] | |
| 9 | 14 | ||
| 10 | 15 | o config now recognises 64-bit mingw and chooses mingw64 instead of mingw | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,5 +1,5 @@ | |||
| 1 | 1 | ||
| 2 | - OpenSSL 1.0.2l 25 May 2017 | ||
| 2 | + OpenSSL 1.0.2m 2 Nov 2017 | ||
| 3 | 3 | ||
| 4 | 4 | Copyright (c) 1998-2015 The OpenSSL Project | |
| 5 | 5 | Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -124,16 +124,7 @@ int app_RAND_load_file(const char *file, BIO *bio_e, int dont_warn) | |||
| 124 | 124 | char buffer[200]; | |
| 125 | 125 | ||
| 126 | 126 | #ifdef OPENSSL_SYS_WINDOWS | |
| 127 | - /* | ||
| 128 | - * allocate 2 to dont_warn not to use RAND_screen() via | ||
| 129 | - * -no_rand_screen option in s_client | ||
| 130 | - */ | ||
| 131 | - if (dont_warn != 2) { | ||
| 132 | - BIO_printf(bio_e, "Loading 'screen' into random state -"); | ||
| 133 | - BIO_flush(bio_e); | ||
| 134 | - RAND_screen(); | ||
| 135 | - BIO_printf(bio_e, " done\n"); | ||
| 136 | - } | ||
| 127 | + RAND_screen(); | ||
| 137 | 128 | #endif | |
| 138 | 129 | ||
| 139 | 130 | if (file == NULL) | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1985,10 +1985,6 @@ static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509, | |||
| 1985 | 1985 | /* Lets add the extensions, if there are any */ | |
| 1986 | 1986 | if (ext_sect) { | |
| 1987 | 1987 | X509V3_CTX ctx; | |
| 1988 | - if (ci->version == NULL) | ||
| 1989 | - if ((ci->version = ASN1_INTEGER_new()) == NULL) | ||
| 1990 | - goto err; | ||
| 1991 | - ASN1_INTEGER_set(ci->version, 2); /* version 3 certificate */ | ||
| 1992 | 1988 | ||
| 1993 | 1989 | /* | |
| 1994 | 1990 | * Free the current entries if any, there should not be any I believe | |
@@ -2051,6 +2047,15 @@ static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509, | |||
| 2051 | 2047 | goto err; | |
| 2052 | 2048 | } | |
| 2053 | 2049 | ||
| 2050 | + { | ||
| 2051 | + STACK_OF(X509_EXTENSION) *exts = ci->extensions; | ||
| 2052 | + | ||
| 2053 | + if (exts != NULL && sk_X509_EXTENSION_num(exts) > 0) | ||
| 2054 | + /* Make it an X509 v3 certificate. */ | ||
| 2055 | + if (!X509_set_version(ret, 2)) | ||
| 2056 | + goto err; | ||
| 2057 | + } | ||
| 2058 | + | ||
| 2054 | 2059 | /* Set the right value for the noemailDN option */ | |
| 2055 | 2060 | if (email_dn == 0) { | |
| 2056 | 2061 | if (!X509_set_subject_name(ret, dn_subject)) | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -180,13 +180,6 @@ typedef unsigned int u_int; | |||
| 180 | 180 | # include <fcntl.h> | |
| 181 | 181 | #endif | |
| 182 | 182 | ||
| 183 | - /* Use Windows API with STD_INPUT_HANDLE when checking for input? | ||
| 184 | - Don't look at OPENSSL_SYS_MSDOS for this, since it is always defined if | ||
| 185 | - OPENSSL_SYS_WINDOWS is defined */ | ||
| 186 | - #if defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_WINCE) && defined(STD_INPUT_HANDLE) | ||
| 187 | - #define OPENSSL_USE_STD_INPUT_HANDLE | ||
| 188 | - #endif | ||
| 189 | - | ||
| 190 | 183 | #undef PROG | |
| 191 | 184 | #define PROG s_client_main | |
| 192 | 185 | ||
@@ -236,7 +229,6 @@ static BIO *bio_c_msg = NULL; | |||
| 236 | 229 | static int c_quiet = 0; | |
| 237 | 230 | static int c_ign_eof = 0; | |
| 238 | 231 | static int c_brief = 0; | |
| 239 | - static int c_no_rand_screen = 0; | ||
| 240 | 232 | ||
| 241 | 233 | #ifndef OPENSSL_NO_PSK | |
| 242 | 234 | /* Default PSK identity and key */ | |
@@ -452,10 +444,6 @@ static void sc_usage(void) | |||
| 452 | 444 | " -keymatexport label - Export keying material using label\n"); | |
| 453 | 445 | BIO_printf(bio_err, | |
| 454 | 446 | " -keymatexportlen len - Export len bytes of keying material (default 20)\n"); | |
| 455 | - #ifdef OPENSSL_SYS_WINDOWS | ||
| 456 | - BIO_printf(bio_err, | ||
| 457 | - " -no_rand_screen - Do not use RAND_screen() to initialize random state\n"); | ||
| 458 | - #endif | ||
| 459 | 447 | } | |
| 460 | 448 | ||
| 461 | 449 | #ifndef OPENSSL_NO_TLSEXT | |
@@ -1148,10 +1136,6 @@ int MAIN(int argc, char **argv) | |||
| 1148 | 1136 | keymatexportlen = atoi(*(++argv)); | |
| 1149 | 1137 | if (keymatexportlen == 0) | |
| 1150 | 1138 | goto bad; | |
| 1151 | - #ifdef OPENSSL_SYS_WINDOWS | ||
| 1152 | - } else if (strcmp(*argv, "-no_rand_screen") == 0) { | ||
| 1153 | - c_no_rand_screen = 1; | ||
| 1154 | - #endif | ||
| 1155 | 1139 | } else { | |
| 1156 | 1140 | BIO_printf(bio_err, "unknown option %s\n", *argv); | |
| 1157 | 1141 | badop = 1; | |
@@ -1268,7 +1252,7 @@ int MAIN(int argc, char **argv) | |||
| 1268 | 1252 | if (!load_excert(&exc, bio_err)) | |
| 1269 | 1253 | goto end; | |
| 1270 | 1254 | ||
| 1271 | - if (!app_RAND_load_file(NULL, bio_err, ++c_no_rand_screen) && inrand == NULL | ||
| 1255 | + if (!app_RAND_load_file(NULL, bio_err, 1) && inrand == NULL | ||
| 1272 | 1256 | && !RAND_status()) { | |
| 1273 | 1257 | BIO_printf(bio_err, | |
| 1274 | 1258 | "warning, not much extra random data, consider using the -rand option\n"); | |
@@ -1683,6 +1667,8 @@ int MAIN(int argc, char **argv) | |||
| 1683 | 1667 | if (strstr(mbuf, "/stream:features>")) | |
| 1684 | 1668 | goto shut; | |
| 1685 | 1669 | seen = BIO_read(sbio, mbuf, BUFSIZZ); | |
| 1670 | + if (seen <= 0) | ||
| 1671 | + goto shut; | ||
| 1686 | 1672 | mbuf[seen] = 0; | |
| 1687 | 1673 | } | |
| 1688 | 1674 | BIO_printf(sbio, | |
@@ -1806,16 +1792,17 @@ int MAIN(int argc, char **argv) | |||
| 1806 | 1792 | tv.tv_usec = 0; | |
| 1807 | 1793 | i = select(width, (void *)&readfds, (void *)&writefds, | |
| 1808 | 1794 | NULL, &tv); | |
| 1809 | - #if defined(OPENSSL_USE_STD_INPUT_HANDLE) | ||
| 1795 | + # if defined(OPENSSL_SYS_WINCE) || defined(OPENSSL_SYS_MSDOS) | ||
| 1796 | + if (!i && (!_kbhit() || !read_tty)) | ||
| 1797 | + continue; | ||
| 1798 | + # else | ||
| 1810 | 1799 | if (!i && (!((_kbhit()) | |
| 1811 | 1800 | || (WAIT_OBJECT_0 == | |
| 1812 | 1801 | WaitForSingleObject(GetStdHandle | |
| 1813 | 1802 | (STD_INPUT_HANDLE), | |
| 1814 | 1803 | 0))) | |
| 1815 | 1804 | || !read_tty)) | |
| 1816 | 1805 | continue; | |
| 1817 | - #else | ||
| 1818 | - if(!i && (!_kbhit() || !read_tty) ) continue; | ||
| 1819 | 1806 | # endif | |
| 1820 | 1807 | } else | |
| 1821 | 1808 | i = select(width, (void *)&readfds, (void *)&writefds, | |
@@ -2017,12 +2004,12 @@ int MAIN(int argc, char **argv) | |||
| 2017 | 2004 | } | |
| 2018 | 2005 | } | |
| 2019 | 2006 | #if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS) | |
| 2020 | - #if defined(OPENSSL_USE_STD_INPUT_HANDLE) | ||
| 2007 | + # if defined(OPENSSL_SYS_WINCE) || defined(OPENSSL_SYS_MSDOS) | ||
| 2008 | + else if (_kbhit()) | ||
| 2009 | + # else | ||
| 2021 | 2010 | else if ((_kbhit()) | |
| 2022 | 2011 | || (WAIT_OBJECT_0 == | |
| 2023 | 2012 | WaitForSingleObject(GetStdHandle(STD_INPUT_HANDLE), 0))) | |
| 2024 | - #else | ||
| 2025 | - else if (_kbhit()) | ||
| 2026 | 2013 | # endif | |
| 2027 | 2014 | #elif defined (OPENSSL_SYS_NETWARE) | |
| 2028 | 2015 | else if (_kbhit()) | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -3017,7 +3017,7 @@ static int www_body(char *hostname, int s, int stype, unsigned char *context) | |||
| 3017 | 3017 | PEM_write_bio_X509(io, peer); | |
| 3018 | 3018 | } else | |
| 3019 | 3019 | BIO_puts(io, "no client certificate available\n"); | |
| 3020 | - BIO_puts(io, "</BODY></HTML>\r\n\r\n"); | ||
| 3020 | + BIO_puts(io, "</pre></BODY></HTML>\r\n\r\n"); | ||
| 3021 | 3021 | break; | |
| 3022 | 3022 | } else if ((www == 2 || www == 3) | |
| 3023 | 3023 | && (strncmp("GET /", buf, 5) == 0)) { | |
| Back | FazBrowse Home | New Git URL |
0 commit comments