CC: openssl: update to v1.0.2d (CVE-2015-1793)
authorJo-Philipp Wich <jow@openwrt.org>
Thu, 9 Jul 2015 13:15:19 +0000 (13:15 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Thu, 9 Jul 2015 13:15:19 +0000 (13:15 +0000)
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 <jow@openwrt.org>
Backport of r46285

SVN-Revision: 46286

package/libs/openssl/Makefile
package/libs/openssl/patches/160-disable_doc_tests.patch
package/libs/openssl/patches/190-remove_timestamp_check.patch
package/libs/openssl/patches/200-parallel_build.patch
package/libs/openssl/patches/210-termios_fix.patch [deleted file]

index 2d69417ac992938b3adb08c2f23c86bdc9e7c074..7f0da8b88735c311d0b7e81ea93bd393790cf75b 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openssl
-PKG_VERSION:=1.0.2c
+PKG_VERSION:=1.0.2d
 PKG_RELEASE:=1
 PKG_USE_MIPS16:=0
 
@@ -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:=OpenSSL
 PKG_LICENSE_FILES:=LICENSE
index afd50650e70e7ca79779de37320806936b536241..f7c09b61743c0e20cb4b051867ab9c196d06aa5f 100644 (file)
  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)
  
index 8a832a44154f45145c060806e3f5a94404e02029..acf97bc33b53f080db98503a0a964e1f4116f6cc 100644 (file)
@@ -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
  
index ff63e0298259e9f1dedb717aba828fd37dcf5da0..c3fc3f3b4cdaa09d240e9d1d42ca4bfc97cf7f2b 100644 (file)
@@ -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
  
        ctags $(SRC)
 --- a/test/Makefile
 +++ b/test/Makefile
-@@ -133,7 +133,7 @@ install:
+@@ -134,7 +134,7 @@ install:
  tags:
        ctags $(SRC)
  
  
  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/210-termios_fix.patch b/package/libs/openssl/patches/210-termios_fix.patch
deleted file mode 100644 (file)
index e69de29..0000000