aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxin B. John <maxin.john@enea.com>2014-05-19 16:13:04 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-05-21 09:32:38 +0100
commit4c58fe468790822fe48e0a570779979c831d0f10 (patch)
treeefde892bcee04c60bf9d7ea74364f1102c7ac178
parentabc158bf873bb7c01414e437eea2b538eb73881c (diff)
downloadopenembedded-core-4c58fe468790822fe48e0a570779979c831d0f10.zip
openembedded-core-4c58fe468790822fe48e0a570779979c831d0f10.tar.gz
openembedded-core-4c58fe468790822fe48e0a570779979c831d0f10.tar.bz2
openssl: fix CVE-2014-0198
A null pointer dereference bug was discovered in do_ssl3_write(). An attacker could possibly use this to cause OpenSSL to crash, resulting in a denial of service. https://access.redhat.com/security/cve/CVE-2014-0198 Signed-off-by: Maxin B. John <maxin.john@enea.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-connectivity/openssl/openssl-1.0.1e/openssl-CVE-2014-0198-fix.patch23
-rw-r--r--meta/recipes-connectivity/openssl/openssl_1.0.1e.bb3
2 files changed, 25 insertions, 1 deletions
diff --git a/meta/recipes-connectivity/openssl/openssl-1.0.1e/openssl-CVE-2014-0198-fix.patch b/meta/recipes-connectivity/openssl/openssl-1.0.1e/openssl-CVE-2014-0198-fix.patch
new file mode 100644
index 0000000..4c51d74
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl-1.0.1e/openssl-CVE-2014-0198-fix.patch
@@ -0,0 +1,23 @@
+Upstream-Status: Backport
+
+Reference: https://bugzilla.redhat.com/show_bug.cgi?id=1093837
+
+CVE-2014-0198: An attacker can trigger generation of an SSL
+alert which could cause a null pointer dereference.
+
+Signed-off-by: Maxin B. John <maxin.john@enea.com>
+---
+diff -Naur openssl-1.0.1g-orig/ssl/s3_pkt.c openssl-1.0.1g/ssl/s3_pkt.c
+--- openssl-1.0.1g-orig/ssl/s3_pkt.c 2014-03-17 17:14:20.000000000 +0100
++++ openssl-1.0.1g/ssl/s3_pkt.c 2014-05-06 02:32:43.862587660 +0200
+@@ -657,6 +657,10 @@
+ if (i <= 0)
+ return(i);
+ /* if it went, fall through and send more stuff */
++ /* we may have released our buffer, so get it again */
++ if (wb->buf == NULL)
++ if (!ssl3_setup_write_buffer(s))
++ return -1;
+ }
+
+ if (len == 0 && !create_empty_fragment)
diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb b/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb
index bfdb25e..842a903 100644
--- a/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb
+++ b/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb
@@ -6,7 +6,7 @@ DEPENDS += "ocf-linux"
CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS"
-PR = "${INC_PR}.1"
+PR = "${INC_PR}.2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8"
@@ -38,6 +38,7 @@ SRC_URI += "file://configure-targets.patch \
file://0001-Fix-DTLS-retransmission-from-previous-session.patch \
file://0001-Use-version-in-SSL_METHOD-not-SSL-structure.patch \
file://CVE-2014-0160.patch \
+ file://openssl-CVE-2014-0198-fix.patch \
"
SRC_URI[md5sum] = "66bf6f10f060d561929de96f9dfe5b8c"