From 10b1d597b97bf9038d18eb8c7c5a8d127c72e5da Mon Sep 17 00:00:00 2001 From: jow Date: Thu, 9 Jul 2015 13:15:32 +0000 Subject: [PATCH] BB: openssl: update to v1.0.2d (CVE-2015-1793) During certificate verification, OpenSSL (starting from version 1.0.1n and 1.0.2b) will attempt to find an alternative certificate chain if the first attempt to build such a chain fails. An error in the implementation of this logic can mean that an attacker could cause certain checks on untrusted certificates to be bypassed, such as the CA flag, enabling them to use a valid leaf certificate to act as a CA and "issue" an invalid certificate. This issue will impact any application that verifies certificates including SSL/TLS/DTLS clients and SSL/TLS/DTLS servers using client authentication. Signed-off-by: Jo-Philipp Wich Backport of r46285 git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@46287 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/libs/openssl/Makefile | 6 +-- .../patches/160-disable_doc_tests.patch | 8 ++-- .../patches/190-remove_timestamp_check.patch | 2 +- .../openssl/patches/200-parallel_build.patch | 39 ++++++++----------- .../openssl/patches/220-fix-no-ec-build.patch | 0 5 files changed, 25 insertions(+), 30 deletions(-) delete mode 100644 package/libs/openssl/patches/220-fix-no-ec-build.patch diff --git a/package/libs/openssl/Makefile b/package/libs/openssl/Makefile index 5770713..2ef0b96 100644 --- a/package/libs/openssl/Makefile +++ b/package/libs/openssl/Makefile @@ -8,8 +8,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=openssl -PKG_VERSION:=1.0.2c -PKG_RELEASE:=0 +PKG_VERSION:=1.0.2d +PKG_RELEASE:=1 PKG_USE_MIPS16:=0 PKG_BUILD_PARALLEL:=1 @@ -18,7 +18,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.openssl.org/source/ \ ftp://ftp.funet.fi/pub/crypt/mirrors/ftp.openssl.org/source \ ftp://ftp.sunet.se/pub/security/tools/net/openssl/source/ -PKG_MD5SUM:=8c8d81a9ae7005276e486702edbcd4b6 +PKG_MD5SUM:=38dd619b2e77cbac69b99f52a053d25a PKG_LICENSE:=SSLEAY OPENSSL PKG_LICENSE_FILES:=LICENSE diff --git a/package/libs/openssl/patches/160-disable_doc_tests.patch b/package/libs/openssl/patches/160-disable_doc_tests.patch index afd5065..f7c09b6 100644 --- a/package/libs/openssl/patches/160-disable_doc_tests.patch +++ b/package/libs/openssl/patches/160-disable_doc_tests.patch @@ -27,16 +27,16 @@ WDIRS= windows LIBS= libcrypto.a libssl.a SHARED_CRYPTO=libcrypto$(SHLIB_EXT) -@@ -271,7 +271,7 @@ reflect: - @[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV) +@@ -272,7 +272,7 @@ reflect: sub_all: build_all + -build_all: build_libs build_apps build_tests build_tools +build_all: build_libs build_apps build_tools build_libs: build_libcrypto build_libssl openssl.pc -@@ -528,7 +528,7 @@ dist: +@@ -529,7 +529,7 @@ dist: dist_pem_h: (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean) @@ -47,7 +47,7 @@ @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ --- a/Makefile.org +++ b/Makefile.org -@@ -526,7 +526,7 @@ dist: +@@ -527,7 +527,7 @@ dist: dist_pem_h: (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean) diff --git a/package/libs/openssl/patches/190-remove_timestamp_check.patch b/package/libs/openssl/patches/190-remove_timestamp_check.patch index 8a832a4..acf97bc 100644 --- a/package/libs/openssl/patches/190-remove_timestamp_check.patch +++ b/package/libs/openssl/patches/190-remove_timestamp_check.patch @@ -9,7 +9,7 @@ # as we stick to -e, CLEARENV ensures that local variables in lower # Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn -@@ -398,11 +398,6 @@ openssl.pc: Makefile +@@ -399,11 +399,6 @@ openssl.pc: Makefile echo 'Version: '$(VERSION); \ echo 'Requires: libssl libcrypto' ) > openssl.pc diff --git a/package/libs/openssl/patches/200-parallel_build.patch b/package/libs/openssl/patches/200-parallel_build.patch index ff63e02..c3fc3f3 100644 --- a/package/libs/openssl/patches/200-parallel_build.patch +++ b/package/libs/openssl/patches/200-parallel_build.patch @@ -1,35 +1,30 @@ --- a/Makefile.org +++ b/Makefile.org -@@ -277,17 +277,17 @@ build_libcrypto: build_crypto build_engi +@@ -278,17 +278,17 @@ build_libcrypto: build_crypto build_engi build_libssl: build_ssl libssl.pc build_crypto: - @dir=crypto; target=all; $(BUILD_ONE_CMD) --build_ssl: -- @dir=ssl; target=all; $(BUILD_ONE_CMD) --build_engines: -- @dir=engines; target=all; $(BUILD_ONE_CMD) --build_apps: -- @dir=apps; target=all; $(BUILD_ONE_CMD) --build_tests: -- @dir=test; target=all; $(BUILD_ONE_CMD) --build_tools: -- @dir=tools; target=all; $(BUILD_ONE_CMD) + +@dir=crypto; target=all; $(BUILD_ONE_CMD) -+build_ssl: build_crypto + build_ssl: build_crypto +- @dir=ssl; target=all; $(BUILD_ONE_CMD) + +@dir=ssl; target=all; $(BUILD_ONE_CMD) -+build_engines: build_crypto + build_engines: build_crypto +- @dir=engines; target=all; $(BUILD_ONE_CMD) + +@dir=engines; target=all; $(BUILD_ONE_CMD) -+build_apps: build_libs + build_apps: build_libs +- @dir=apps; target=all; $(BUILD_ONE_CMD) + +@dir=apps; target=all; $(BUILD_ONE_CMD) -+build_tests: build_libs + build_tests: build_libs +- @dir=test; target=all; $(BUILD_ONE_CMD) + +@dir=test; target=all; $(BUILD_ONE_CMD) -+build_tools: build_libs + build_tools: build_libs +- @dir=tools; target=all; $(BUILD_ONE_CMD) + +@dir=tools; target=all; $(BUILD_ONE_CMD) all_testapps: build_libs build_testapps build_testapps: -@@ -459,7 +459,7 @@ update: errors stacks util/libeay.num ut +@@ -460,7 +460,7 @@ update: errors stacks util/libeay.num ut @set -e; target=update; $(RECURSIVE_BUILD_CMD) depend: @@ -38,7 +33,7 @@ lint: @set -e; target=lint; $(RECURSIVE_BUILD_CMD) -@@ -521,9 +521,9 @@ dist: +@@ -522,9 +522,9 @@ dist: dist_pem_h: (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean) @@ -50,7 +45,7 @@ @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \ -@@ -532,12 +532,19 @@ install_sw: +@@ -533,12 +533,19 @@ install_sw: $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \ $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \ $(INSTALL_PREFIX)$(OPENSSLDIR)/private @@ -71,7 +66,7 @@ @set -e; liblist="$(LIBS)"; for i in $$liblist ;\ do \ if [ -f "$$i" ]; then \ -@@ -621,12 +628,7 @@ install_html_docs: +@@ -622,12 +629,7 @@ install_html_docs: done; \ done @@ -169,7 +164,7 @@ ctags $(SRC) --- a/test/Makefile +++ b/test/Makefile -@@ -133,7 +133,7 @@ install: +@@ -134,7 +134,7 @@ install: tags: ctags $(SRC) @@ -178,7 +173,7 @@ apps: @(cd ..; $(MAKE) DIRS=apps all) -@@ -530,7 +530,7 @@ $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMET +@@ -538,7 +538,7 @@ $(VERIFYEXTRATEST)$(EXE_EXT): $(VERIFYEX # fi dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO) diff --git a/package/libs/openssl/patches/220-fix-no-ec-build.patch b/package/libs/openssl/patches/220-fix-no-ec-build.patch deleted file mode 100644 index e69de29..0000000