OpenSSL upgrade & ptest fix
cover OpenSSL upgrade & ptest fix
OpenSSL upgrade for master including a number of CVE fixes, plus a fix for some of the ptest tests.
The following changes since commit a3ee9cc7aebaecfa2223552a2c1865a9337de664:
wic: check if BBLAYERS is valid before use (2014-06-06 10:29:22 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib paule/openssl-upgrade
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/openssl-upgrade
Paul Eggleton (2):
openssl: upgrade to 1.0.1h
openssl: fix ptests
meta/recipes-connectivity/openssl/openssl.inc | 3 +-
.../openssl/heartbeat-test-private-api.patch | 45 +++
.../openssl/openssl/openssl-CVE-2010-5298.patch | 24 --
.../openssl/openssl-CVE-2014-0198-fix.patch | 23 --
.../openssl/openssl/openssl-fix-doc.patch | 401 ---------------------
.../openssl/openssl/ptest-deps.patch | 30 ++
.../{openssl_1.0.1g.bb => openssl_1.0.1h.bb} | 9 +-
7 files changed, 81 insertions(+), 454 deletions(-)
create mode 100644 meta/recipes-connectivity/openssl/openssl/heartbeat-test-private-api.patch
delete mode 100644 meta/recipes-connectivity/openssl/openssl/openssl-CVE-2010-5298.patch
delete mode 100644 meta/recipes-connectivity/openssl/openssl/openssl-CVE-2014-0198-fix.patch
delete mode 100644 meta/recipes-connectivity/openssl/openssl/openssl-fix-doc.patch
create mode 100644 meta/recipes-connectivity/openssl/openssl/ptest-deps.patch
rename meta/recipes-connectivity/openssl/{openssl_1.0.1g.bb => openssl_1.0.1h.bb} (86%)Signature · 1 line
1.9.3
PATCH 1/2 openssl: upgrade to 1.0.1h
Fixes the following security issues:
* CVE-2014-0224
* CVE-2014-0221
* CVE-2014-0195
* CVE-2014-3470
The patch for CVE-2010-5298, CVE-2014-0198 and a fix for building the documentation are integrated upstream in this release and so were dropped. Additionally, a patch from upstream was added in order to fix a failure during do_compile_ptest_base.
A similar upgrade was also submitted by Yao Xinpan <[email protected]> and Lei Maohui <[email protected]>.
---
.../openssl/heartbeat-test-private-api.patch | 45 +++
.../openssl/openssl/openssl-CVE-2010-5298.patch | 24 --
.../openssl/openssl-CVE-2014-0198-fix.patch | 23 --
.../openssl/openssl/openssl-fix-doc.patch | 401 ---------------------
.../{openssl_1.0.1g.bb => openssl_1.0.1h.bb} | 8 +-
5 files changed, 48 insertions(+), 453 deletions(-)
create mode 100644 meta/recipes-connectivity/openssl/openssl/heartbeat-test-private-api.patch
delete mode 100644 meta/recipes-connectivity/openssl/openssl/openssl-CVE-2010-5298.patch
delete mode 100644 meta/recipes-connectivity/openssl/openssl/openssl-CVE-2014-0198-fix.patch
delete mode 100644 meta/recipes-connectivity/openssl/openssl/openssl-fix-doc.patch
rename meta/recipes-connectivity/openssl/{openssl_1.0.1g.bb => openssl_1.0.1h.bb} (86%)meta/recipes-connectivity/openssl/openssl/heartbeat-test-private-api.patch new file +45 -0
@@ -0,0 +1,45 @@ +From 2e251ba8feaa696f9408a19336d1fbab148df55e Mon Sep 17 00:00:00 2001 +From: Kurt Roeckx <[email protected]> +Date: Sat, 7 Jun 2014 13:32:23 +0200 +Subject: [PATCH] Link heartbeat_test with the static version of the libraries + +It's using an internal API that that might not be available in the shared +library. + +Upstream-Status: Submitted [https://github.com/openssl/openssl/pull/125] +Signed-off-by: Paul Eggleton <[email protected]> + +--- + test/Makefile | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/test/Makefile b/test/Makefile +index f1816ac..1dd7bb9 100644 +--- a/test/Makefile ++++ b/test/Makefile +@@ -420,6 +420,13 @@ BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ + LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ + link_app.$${shlib_target} + ++BUILD_CMD_STATIC=shlib_target=; \ ++ LIBRARIES="$(DLIBSSL) $(DLIBCRYPTO) $(LIBKRB5)"; \ ++ $(MAKE) -f $(TOP)/Makefile.shared -e \ ++ APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o" \ ++ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ ++ link_app.$${shlib_target} ++ + $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO) + @target=$(RSATEST); $(BUILD_CMD) + +@@ -618,7 +625,7 @@ $(V3NAMETEST)$(EXE_EXT): $(V3NAMETEST).o $(DLIBCRYPTO) + @target=$(V3NAMETEST); $(BUILD_CMD) + + $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO) +- @target=$(HEARTBEATTEST); $(BUILD_CMD) ++ @target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC) + + #$(AESTEST).o: $(AESTEST).c + # $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c +-- +1.9.3 +
meta/recipes-connectivity/openssl/openssl/openssl-CVE-2010-5298.patch deleted +0 -24
@@ -1,24 +0,0 @@ -openssl fix for CVE-2010-5298 - -Upstream-Status: Backport - -Race condition in the ssl3_read_bytes function in s3_pkt.c in OpenSSL -through 1.0.1g, when SSL_MODE_RELEASE_BUFFERS is enabled, allows remote -attackers to inject data across sessions or cause a denial of service -(use-after-free and parsing error) via an SSL connection in a -multithreaded environment. - -http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5298 - -Signed-off-by: Yue Tao <[email protected]> ---- a/ssl/s3_pkt.c -+++ b/ssl/s3_pkt.c -@@ -1013,7 +1013,7 @@ start: - { - s->rstate=SSL_ST_READ_HEADER; - rr->off=0; -- if (s->mode & SSL_MODE_RELEASE_BUFFERS) -+ if (s->mode & SSL_MODE_RELEASE_BUFFERS && s->s3->rbuf.left == 0) - ssl3_release_read_buffer(s); - } - }
meta/recipes-connectivity/openssl/openssl/openssl-CVE-2014-0198-fix.patch deleted +0 -23
@@ -1,23 +0,0 @@ -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 <[email protected]> ---- -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)
meta/recipes-connectivity/openssl/openssl/openssl-fix-doc.patch deleted +0 -401
401 lines not on this page · raw message
meta/recipes-connectivity/openssl/openssl_1.0.1h.bb renamed from meta/recipes-connectivity/openssl/openssl_1.0.1g.bb +3 -5
@@ -27,21 +27,19 @@ SRC_URI += "file://configure-targets.patch \ file://debian/no-symbolic.patch \ file://debian/debian-targets.patch \ file://openssl_fix_for_x32.patch \ - file://openssl-fix-doc.patch \ file://fix-cipher-des-ede3-cfb1.patch \ file://openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch \ file://openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.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://heartbeat-test-private-api.patch \ file://run-ptest \ - file://openssl-CVE-2010-5298.patch \ " -SRC_URI[md5sum] = "de62b43dfcd858e66a74bee1c834e959" -SRC_URI[sha256sum] = "53cb818c3b90e507a8348f4f5eaedb05d8bfe5358aabb508b7263cc670c3e028" +SRC_URI[md5sum] = "8d6d684a9430d5cc98a62a5d8fbda8cf" +SRC_URI[sha256sum] = "9d1c8a9836aa63e2c6adb684186cbd4371c9e9dcc01d6e3bb447abf2d4d3d093" PACKAGES =+ " \ ${PN}-engines \
Signature · 1 line
1.9.3
PATCH 2/2 openssl: fix ptests
In reply to Paul EggletonAdd some missing dependencies and fix the Makefile in order to get most of the ptest tests working (specifically test_bn, test_verify, test_cms, test_srp and test_heartbeat). test_verify still fails for unknown reasons (perhaps some of the now expired certificates weren't meant to have expired as far as the test is concerned?) but at least it has the certificates to run now.
--- meta/recipes-connectivity/openssl/openssl.inc | 3 ++- .../openssl/openssl/ptest-deps.patch | 30 ++++++++++++++++++++++ .../recipes-connectivity/openssl/openssl_1.0.1h.bb | 1 + 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-connectivity/openssl/openssl/ptest-deps.patch
meta/recipes-connectivity/openssl/openssl.inc +2 -1
@@ -47,7 +47,7 @@ FILES_${PN}-dev += "${base_libdir}/libcrypto${SOLIBSDEV}" FILES_openssl-conf = "${libdir}/ssl/openssl.cnf" CONFFILES_openssl-conf = "${libdir}/ssl/openssl.cnf" RRECOMMENDS_libcrypto += "openssl-conf" -RDEPENDS_${PN}-ptest += "${PN}-misc make" +RDEPENDS_${PN}-ptest += "${PN}-misc make perl perl-module-filehandle bc" do_configure_prepend_darwin () { sed -i -e '/version-script=openssl\.ld/d' Configure
@@ -176,6 +176,7 @@ do_install () { do_install_ptest () { cp -r Makefile test ${D}${PTEST_PATH} + cp -r certs ${D}${PTEST_PATH} mkdir -p ${D}${PTEST_PATH}/apps ln -sf /usr/lib/ssl/misc/CA.sh ${D}${PTEST_PATH}/apps ln -sf /usr/lib/ssl/openssl.cnf ${D}${PTEST_PATH}/apps
meta/recipes-connectivity/openssl/openssl/ptest-deps.patch new file +30 -0
@@ -0,0 +1,30 @@ +Remove Makefile dependencies for test targets + +These are probably here because the executables aren't always built for +other platforms (e.g. Windows); however we can safely assume they'll +always be there. None of the other test targets have such dependencies +and if we don't remove them, make tries to rebuild the executables and +fails during run-ptest. + +Upstream-Status: Inappropriate [config] + +Signed-off-by: Paul Eggleton <[email protected]> + +diff --git a/test/Makefile b/test/Makefile +index e6fcfb4..5ae043b 100644 +--- a/test/Makefile ++++ b/test/Makefile +@@ -322,11 +322,11 @@ test_cms: + @echo "CMS consistency test" + $(PERL) cms-test.pl + +-test_srp: $(SRPTEST)$(EXE_EXT) ++test_srp: + @echo "Test SRP" + ../util/shlib_wrap.sh ./srptest + +-test_heartbeat: $(HEARTBEATTEST)$(EXE_EXT) ++test_heartbeat: + ../util/shlib_wrap.sh ./$(HEARTBEATTEST) + + lint:
meta/recipes-connectivity/openssl/openssl_1.0.1h.bb +1 -0
@@ -35,6 +35,7 @@ SRC_URI += "file://configure-targets.patch \ file://openssl-fix-des.pod-error.patch \ file://Makefiles-ptest.patch \ file://heartbeat-test-private-api.patch \ + file://ptest-deps.patch \ file://run-ptest \ "
Signature · 1 line
1.9.3