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 <jow@openwrt.org>

SVN-Revision: 46285
This commit is contained in:
Jo-Philipp Wich 2015-07-09 13:04:27 +00:00
parent e8161f4764
commit 48d9137d31
5 changed files with 24 additions and 29 deletions

View file

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=openssl PKG_NAME:=openssl
PKG_VERSION:=1.0.2c PKG_VERSION:=1.0.2d
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_USE_MIPS16:=0 PKG_USE_MIPS16:=0
@ -18,7 +18,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.openssl.org/source/ \ PKG_SOURCE_URL:=http://www.openssl.org/source/ \
ftp://ftp.funet.fi/pub/crypt/mirrors/ftp.openssl.org/source \ ftp://ftp.funet.fi/pub/crypt/mirrors/ftp.openssl.org/source \
ftp://ftp.sunet.se/pub/security/tools/net/openssl/source/ ftp://ftp.sunet.se/pub/security/tools/net/openssl/source/
PKG_MD5SUM:=8c8d81a9ae7005276e486702edbcd4b6 PKG_MD5SUM:=38dd619b2e77cbac69b99f52a053d25a
PKG_LICENSE:=OpenSSL PKG_LICENSE:=OpenSSL
PKG_LICENSE_FILES:=LICENSE PKG_LICENSE_FILES:=LICENSE

View file

@ -27,16 +27,16 @@
WDIRS= windows WDIRS= windows
LIBS= libcrypto.a libssl.a LIBS= libcrypto.a libssl.a
SHARED_CRYPTO=libcrypto$(SHLIB_EXT) SHARED_CRYPTO=libcrypto$(SHLIB_EXT)
@@ -271,7 +271,7 @@ reflect: @@ -272,7 +272,7 @@ reflect:
@[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV)
sub_all: build_all sub_all: build_all
-build_all: build_libs build_apps build_tests build_tools -build_all: build_libs build_apps build_tests build_tools
+build_all: build_libs build_apps build_tools +build_all: build_libs build_apps build_tools
build_libs: build_libcrypto build_libssl openssl.pc build_libs: build_libcrypto build_libssl openssl.pc
@@ -528,7 +528,7 @@ dist: @@ -529,7 +529,7 @@ dist:
dist_pem_h: dist_pem_h:
(cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean) (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
@ -47,7 +47,7 @@
@$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
--- a/Makefile.org --- a/Makefile.org
+++ b/Makefile.org +++ b/Makefile.org
@@ -526,7 +526,7 @@ dist: @@ -527,7 +527,7 @@ dist:
dist_pem_h: dist_pem_h:
(cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean) (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)

View file

@ -9,7 +9,7 @@
# as we stick to -e, CLEARENV ensures that local variables in lower # as we stick to -e, CLEARENV ensures that local variables in lower
# Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn # 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 'Version: '$(VERSION); \
echo 'Requires: libssl libcrypto' ) > openssl.pc echo 'Requires: libssl libcrypto' ) > openssl.pc

View file

@ -1,35 +1,30 @@
--- a/Makefile.org --- a/Makefile.org
+++ b/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_libssl: build_ssl libssl.pc
build_crypto: build_crypto:
- @dir=crypto; target=all; $(BUILD_ONE_CMD) - @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) + +@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) + +@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) + +@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) + +@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) + +@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) + +@dir=tools; target=all; $(BUILD_ONE_CMD)
all_testapps: build_libs build_testapps all_testapps: build_libs build_testapps
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) @set -e; target=update; $(RECURSIVE_BUILD_CMD)
depend: depend:
@ -38,7 +33,7 @@
lint: lint:
@set -e; target=lint; $(RECURSIVE_BUILD_CMD) @set -e; target=lint; $(RECURSIVE_BUILD_CMD)
@@ -521,9 +521,9 @@ dist: @@ -522,9 +522,9 @@ dist:
dist_pem_h: dist_pem_h:
(cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean) (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
@ -50,7 +45,7 @@
@$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
$(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \
$(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \
@@ -532,12 +532,19 @@ install_sw: @@ -533,12 +533,19 @@ install_sw:
$(INSTALL_PREFIX)$(OPENSSLDIR)/misc \ $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
$(INSTALL_PREFIX)$(OPENSSLDIR)/certs \ $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \
$(INSTALL_PREFIX)$(OPENSSLDIR)/private $(INSTALL_PREFIX)$(OPENSSLDIR)/private
@ -71,7 +66,7 @@
@set -e; liblist="$(LIBS)"; for i in $$liblist ;\ @set -e; liblist="$(LIBS)"; for i in $$liblist ;\
do \ do \
if [ -f "$$i" ]; then \ if [ -f "$$i" ]; then \
@@ -621,12 +628,7 @@ install_html_docs: @@ -622,12 +629,7 @@ install_html_docs:
done; \ done; \
done done
@ -169,7 +164,7 @@
ctags $(SRC) ctags $(SRC)
--- a/test/Makefile --- a/test/Makefile
+++ b/test/Makefile +++ b/test/Makefile
@@ -133,7 +133,7 @@ install: @@ -134,7 +134,7 @@ install:
tags: tags:
ctags $(SRC) ctags $(SRC)
@ -178,7 +173,7 @@
apps: apps:
@(cd ..; $(MAKE) DIRS=apps all) @(cd ..; $(MAKE) DIRS=apps all)
@@ -530,7 +530,7 @@ $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMET @@ -538,7 +538,7 @@ $(VERIFYEXTRATEST)$(EXE_EXT): $(VERIFYEX
# fi # fi
dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO) dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)