summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/openssl/openssl/CVE-2015-3197.patch
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2016-05-11 00:43:28 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-05-11 18:00:11 +0100
commit3cea047b6cc9e93308e5aebbacc74183438fae57 (patch)
tree0075f669416d5adb6da8b1b06f28aeafb6f32b68 /meta/recipes-connectivity/openssl/openssl/CVE-2015-3197.patch
parent8463c062909dba7367d56105cc56126ba971984e (diff)
downloadpoky-3cea047b6cc9e93308e5aebbacc74183438fae57.tar.gz
openssl: 1.0.2d -> 1.0.2h (mainly for CVEs)
* CVEs: - CVE-2016-0705 - CVE-2016-0798 - CVE-2016-0797 - CVE-2016-0799 - CVE-2016-0702 - CVE-2016-0703 - CVE-2016-0704 - CVE-2016-2105 - CVE-2016-2106 - CVE-2016-2109 - CVE-2016-2176 * The LICENSE's checksum is changed because of date changes (2011 -> 2016), the contents are the same. * Remove backport patches - 0001-Add-test-for-CVE-2015-3194.patch - CVE-2015-3193-bn-asm-x86_64-mont5.pl-fix-carry-propagating-bug-CVE.patch - CVE-2015-3194-1-Add-PSS-parameter-check.patch - CVE-2015-3195-Fix-leak-with-ASN.1-combine.patch - CVE-2015-3197.patch - CVE-2016-0701_1.patch - CVE-2016-0701_2.patch - CVE-2016-0800.patch - CVE-2016-0800_2.patch - CVE-2016-0800_3.patch * Update crypto_use_bigint_in_x86-64_perl.patch * Add version-script.patch and update block_diginotar.patch (From master branch) * Update openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch (From Armin) (From OE-Core master rev: bca156013af0a98cb18d8156626b9acc8f9883e3) (From OE-Core rev: 6ed7c8a9f82bc173ae0cc8b494af5a2c838f08fc) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-connectivity/openssl/openssl/CVE-2015-3197.patch')
-rw-r--r--meta/recipes-connectivity/openssl/openssl/CVE-2015-3197.patch63
1 files changed, 0 insertions, 63 deletions
diff --git a/meta/recipes-connectivity/openssl/openssl/CVE-2015-3197.patch b/meta/recipes-connectivity/openssl/openssl/CVE-2015-3197.patch
deleted file mode 100644
index dd288c93fb..0000000000
--- a/meta/recipes-connectivity/openssl/openssl/CVE-2015-3197.patch
+++ /dev/null
@@ -1,63 +0,0 @@
1From d81a1600588b726c2bdccda7efad3cc7a87d6245 Mon Sep 17 00:00:00 2001
2From: Viktor Dukhovni <openssl-users@dukhovni.org>
3Date: Wed, 30 Dec 2015 22:44:51 -0500
4Subject: [PATCH] Better SSLv2 cipher-suite enforcement
5
6Based on patch by: Nimrod Aviram <nimrod.aviram@gmail.com>
7
8CVE-2015-3197
9
10Reviewed-by: Tim Hudson <tjh@openssl.org>
11Reviewed-by: Richard Levitte <levitte@openssl.org>
12
13Upstream-Status: Backport
14https://github.com/openssl/openssl/commit/d81a1600588b726c2bdccda7efad3cc7a87d6245
15
16CVE: CVE-2015-3197
17Signed-off-by: Armin Kuster <akuster@mvista.com>
18
19---
20 ssl/s2_srvr.c | 15 +++++++++++++--
21 1 file changed, 13 insertions(+), 2 deletions(-)
22
23Index: openssl-1.0.2d/ssl/s2_srvr.c
24===================================================================
25--- openssl-1.0.2d.orig/ssl/s2_srvr.c
26+++ openssl-1.0.2d/ssl/s2_srvr.c
27@@ -402,7 +402,7 @@ static int get_client_master_key(SSL *s)
28 }
29
30 cp = ssl2_get_cipher_by_char(p);
31- if (cp == NULL) {
32+ if (cp == NULL || sk_SSL_CIPHER_find(s->session->ciphers, cp) < 0) {
33 ssl2_return_error(s, SSL2_PE_NO_CIPHER);
34 SSLerr(SSL_F_GET_CLIENT_MASTER_KEY, SSL_R_NO_CIPHER_MATCH);
35 return (-1);
36@@ -687,8 +687,12 @@ static int get_client_hello(SSL *s)
37 prio = cs;
38 allow = cl;
39 }
40+
41+ /* Generate list of SSLv2 ciphers shared between client and server */
42 for (z = 0; z < sk_SSL_CIPHER_num(prio); z++) {
43- if (sk_SSL_CIPHER_find(allow, sk_SSL_CIPHER_value(prio, z)) < 0) {
44+ const SSL_CIPHER *cp = sk_SSL_CIPHER_value(prio, z);
45+ if ((cp->algorithm_ssl & SSL_SSLV2) == 0 ||
46+ sk_SSL_CIPHER_find(allow, cp) < 0) {
47 (void)sk_SSL_CIPHER_delete(prio, z);
48 z--;
49 }
50@@ -697,6 +701,13 @@ static int get_client_hello(SSL *s)
51 sk_SSL_CIPHER_free(s->session->ciphers);
52 s->session->ciphers = prio;
53 }
54+
55+ /* Make sure we have at least one cipher in common */
56+ if (sk_SSL_CIPHER_num(s->session->ciphers) == 0) {
57+ ssl2_return_error(s, SSL2_PE_NO_CIPHER);
58+ SSLerr(SSL_F_GET_CLIENT_HELLO, SSL_R_NO_CIPHER_MATCH);
59+ return -1;
60+ }
61 /*
62 * s->session->ciphers should now have a list of ciphers that are on
63 * both the client and server. This list is ordered by the order the