Patchwork openssl: fix CVE-2014-0198

login
register
mail settings
Submitter Maxin B. John
Date May 6, 2014, 12:53 a.m.
Message ID <1399337614-415-1-git-send-email-maxin.john@enea.com>
Download mbox | patch
Permalink /patch/71557/
State Accepted
Commit f3f7feceaebbc22aef3e36f961cee3722f2abda4
Headers show

Comments

Maxin B. John - May 6, 2014, 12:53 a.m.
From: "Maxin B. John" <maxin.john@enea.com>

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>
---
 .../openssl/openssl-CVE-2014-0198-fix.patch        |   23 ++++++++++++++++++++
 .../recipes-connectivity/openssl/openssl_1.0.1g.bb |    1 +
 2 files changed, 24 insertions(+)
 create mode 100644 meta/recipes-connectivity/openssl/openssl/openssl-CVE-2014-0198-fix.patch

Patch

diff --git a/meta/recipes-connectivity/openssl/openssl/openssl-CVE-2014-0198-fix.patch b/meta/recipes-connectivity/openssl/openssl/openssl-CVE-2014-0198-fix.patch
new file mode 100644
index 0000000..4c51d74
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/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.1g.bb b/meta/recipes-connectivity/openssl/openssl_1.0.1g.bb
index 5ca29d0..7c44546 100644
--- a/meta/recipes-connectivity/openssl/openssl_1.0.1g.bb
+++ b/meta/recipes-connectivity/openssl/openssl_1.0.1g.bb
@@ -34,6 +34,7 @@  SRC_URI += "file://configure-targets.patch \
             file://initial-aarch64-bits.patch \
             file://find.pl \
             file://openssl-fix-des.pod-error.patch \
+            file://openssl-CVE-2014-0198-fix.patch \
             file://Makefiles-ptest.patch \
             file://run-ptest \
            "