From owner-svn-src-releng@freebsd.org Sat Dec 9 03:44:28 2017 Return-Path: Delivered-To: svn-src-releng@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 027D9E9C560; Sat, 9 Dec 2017 03:44:28 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D0A12730C8; Sat, 9 Dec 2017 03:44:27 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vB93iQgD092487; Sat, 9 Dec 2017 03:44:26 GMT (envelope-from gordon@FreeBSD.org) Received: (from gordon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vB93iQRD092482; Sat, 9 Dec 2017 03:44:26 GMT (envelope-from gordon@FreeBSD.org) Message-Id: <201712090344.vB93iQRD092482@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gordon set sender to gordon@FreeBSD.org using -f From: Gordon Tetlow Date: Sat, 9 Dec 2017 03:44:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r326722 - in releng/11.1: . crypto/openssl/crypto/bn/asm crypto/openssl/ssl secure/lib/libcrypto/amd64 sys/conf X-SVN-Group: releng X-SVN-Commit-Author: gordon X-SVN-Commit-Paths: in releng/11.1: . crypto/openssl/crypto/bn/asm crypto/openssl/ssl secure/lib/libcrypto/amd64 sys/conf X-SVN-Commit-Revision: 326722 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-releng@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the release engineering / security commits to the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Dec 2017 03:44:28 -0000 Author: gordon Date: Sat Dec 9 03:44:26 2017 New Revision: 326722 URL: https://svnweb.freebsd.org/changeset/base/326722 Log: Fix multiple OpenSSL vulnerabilities. Approved by: so Security: CVE-2017-3737 Security: CVE-2017-3738 Security: FreeBSD-SA-17:12.openssl Modified: releng/11.1/UPDATING releng/11.1/crypto/openssl/crypto/bn/asm/rsaz-avx2.pl releng/11.1/crypto/openssl/ssl/ssl.h releng/11.1/secure/lib/libcrypto/amd64/rsaz-avx2.S releng/11.1/sys/conf/newvers.sh Modified: releng/11.1/UPDATING ============================================================================== --- releng/11.1/UPDATING Sat Dec 9 03:41:31 2017 (r326721) +++ releng/11.1/UPDATING Sat Dec 9 03:44:26 2017 (r326722) @@ -16,6 +16,10 @@ from older versions of FreeBSD, try WITHOUT_CLANG and the tip of head, and then rebuild without this option. The bootstrap process from older version of current across the gcc/clang cutover is a bit fragile. +20171209 p6 FreeBSD-SA-17:12.openssl + + Fix multiple vulnerabilities of OpenSSL. + 20171129 p5 FreeBSD-SA-17:11.openssl Fix multiple vulnerabilities of OpenSSL. Modified: releng/11.1/crypto/openssl/crypto/bn/asm/rsaz-avx2.pl ============================================================================== --- releng/11.1/crypto/openssl/crypto/bn/asm/rsaz-avx2.pl Sat Dec 9 03:41:31 2017 (r326721) +++ releng/11.1/crypto/openssl/crypto/bn/asm/rsaz-avx2.pl Sat Dec 9 03:44:26 2017 (r326722) @@ -239,7 +239,7 @@ $code.=<<___; vmovdqu 32*8-128($ap), $ACC8 lea 192(%rsp), $tp0 # 64+128=192 - vpbroadcastq .Land_mask(%rip), $AND_MASK + vmovdqu .Land_mask(%rip), $AND_MASK jmp .LOOP_GRANDE_SQR_1024 .align 32 @@ -1070,10 +1070,10 @@ $code.=<<___; vpmuludq 32*6-128($np),$Yi,$TEMP1 vpaddq $TEMP1,$ACC6,$ACC6 vpmuludq 32*7-128($np),$Yi,$TEMP2 - vpblendd \$3, $ZERO, $ACC9, $ACC9 # correct $ACC3 + vpblendd \$3, $ZERO, $ACC9, $TEMP1 # correct $ACC3 vpaddq $TEMP2,$ACC7,$ACC7 vpmuludq 32*8-128($np),$Yi,$TEMP0 - vpaddq $ACC9, $ACC3, $ACC3 # correct $ACC3 + vpaddq $TEMP1, $ACC3, $ACC3 # correct $ACC3 vpaddq $TEMP0,$ACC8,$ACC8 mov %rbx, %rax @@ -1086,7 +1086,9 @@ $code.=<<___; vmovdqu -8+32*2-128($ap),$TEMP2 mov $r1, %rax + vpblendd \$0xfc, $ZERO, $ACC9, $ACC9 # correct $ACC3 imull $n0, %eax + vpaddq $ACC9,$ACC4,$ACC4 # correct $ACC3 and \$0x1fffffff, %eax imulq 16-128($ap),%rbx @@ -1322,15 +1324,12 @@ ___ # But as we underutilize resources, it's possible to correct in # each iteration with marginal performance loss. But then, as # we do it in each iteration, we can correct less digits, and -# avoid performance penalties completely. Also note that we -# correct only three digits out of four. This works because -# most significant digit is subjected to less additions. +# avoid performance penalties completely. $TEMP0 = $ACC9; $TEMP3 = $Bi; $TEMP4 = $Yi; $code.=<<___; - vpermq \$0, $AND_MASK, $AND_MASK vpaddq (%rsp), $TEMP1, $ACC0 vpsrlq \$29, $ACC0, $TEMP1 @@ -1763,7 +1762,7 @@ $code.=<<___; .align 64 .Land_mask: - .quad 0x1fffffff,0x1fffffff,0x1fffffff,-1 + .quad 0x1fffffff,0x1fffffff,0x1fffffff,0x1fffffff .Lscatter_permd: .long 0,2,4,6,7,7,7,7 .Lgather_permd: Modified: releng/11.1/crypto/openssl/ssl/ssl.h ============================================================================== --- releng/11.1/crypto/openssl/ssl/ssl.h Sat Dec 9 03:41:31 2017 (r326721) +++ releng/11.1/crypto/openssl/ssl/ssl.h Sat Dec 9 03:44:26 2017 (r326722) @@ -1727,7 +1727,7 @@ extern "C" { # define SSL_ST_BEFORE 0x4000 # define SSL_ST_OK 0x03 # define SSL_ST_RENEGOTIATE (0x04|SSL_ST_INIT) -# define SSL_ST_ERR 0x05 +# define SSL_ST_ERR (0x05|SSL_ST_INIT) # define SSL_CB_LOOP 0x01 # define SSL_CB_EXIT 0x02 Modified: releng/11.1/secure/lib/libcrypto/amd64/rsaz-avx2.S ============================================================================== --- releng/11.1/secure/lib/libcrypto/amd64/rsaz-avx2.S Sat Dec 9 03:41:31 2017 (r326721) +++ releng/11.1/secure/lib/libcrypto/amd64/rsaz-avx2.S Sat Dec 9 03:44:26 2017 (r326722) @@ -68,7 +68,7 @@ rsaz_1024_sqr_avx2: vmovdqu 256-128(%rsi),%ymm8 leaq 192(%rsp),%rbx - vpbroadcastq .Land_mask(%rip),%ymm15 + vmovdqu .Land_mask(%rip),%ymm15 jmp .LOOP_GRANDE_SQR_1024 .align 32 @@ -801,10 +801,10 @@ rsaz_1024_mul_avx2: vpmuludq 192-128(%rcx),%ymm11,%ymm12 vpaddq %ymm12,%ymm6,%ymm6 vpmuludq 224-128(%rcx),%ymm11,%ymm13 - vpblendd $3,%ymm14,%ymm9,%ymm9 + vpblendd $3,%ymm14,%ymm9,%ymm12 vpaddq %ymm13,%ymm7,%ymm7 vpmuludq 256-128(%rcx),%ymm11,%ymm0 - vpaddq %ymm9,%ymm3,%ymm3 + vpaddq %ymm12,%ymm3,%ymm3 vpaddq %ymm0,%ymm8,%ymm8 movq %rbx,%rax @@ -817,7 +817,9 @@ rsaz_1024_mul_avx2: vmovdqu -8+64-128(%rsi),%ymm13 movq %r10,%rax + vpblendd $0xfc,%ymm14,%ymm9,%ymm9 imull %r8d,%eax + vpaddq %ymm9,%ymm4,%ymm4 andl $0x1fffffff,%eax imulq 16-128(%rsi),%rbx @@ -1046,7 +1048,6 @@ rsaz_1024_mul_avx2: decl %r14d jnz .Loop_mul_1024 - vpermq $0,%ymm15,%ymm15 vpaddq (%rsp),%ymm12,%ymm0 vpsrlq $29,%ymm0,%ymm12 @@ -1686,7 +1687,7 @@ rsaz_avx2_eligible: .align 64 .Land_mask: -.quad 0x1fffffff,0x1fffffff,0x1fffffff,-1 +.quad 0x1fffffff,0x1fffffff,0x1fffffff,0x1fffffff .Lscatter_permd: .long 0,2,4,6,7,7,7,7 .Lgather_permd: Modified: releng/11.1/sys/conf/newvers.sh ============================================================================== --- releng/11.1/sys/conf/newvers.sh Sat Dec 9 03:41:31 2017 (r326721) +++ releng/11.1/sys/conf/newvers.sh Sat Dec 9 03:44:26 2017 (r326722) @@ -44,7 +44,7 @@ TYPE="FreeBSD" REVISION="11.1" -BRANCH="RELEASE-p5" +BRANCH="RELEASE-p6" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From owner-svn-src-releng@freebsd.org Sat Dec 9 03:45:25 2017 Return-Path: Delivered-To: svn-src-releng@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 29ED2E9C5DA; Sat, 9 Dec 2017 03:45:25 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DFE65731C1; Sat, 9 Dec 2017 03:45:24 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vB93jOXg092570; Sat, 9 Dec 2017 03:45:24 GMT (envelope-from gordon@FreeBSD.org) Received: (from gordon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vB93jNQR092564; Sat, 9 Dec 2017 03:45:23 GMT (envelope-from gordon@FreeBSD.org) Message-Id: <201712090345.vB93jNQR092564@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gordon set sender to gordon@FreeBSD.org using -f From: Gordon Tetlow Date: Sat, 9 Dec 2017 03:45:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r326723 - in releng: 10.3 10.3/crypto/openssl/ssl 10.3/sys/conf 10.4 10.4/crypto/openssl/ssl 10.4/sys/conf X-SVN-Group: releng X-SVN-Commit-Author: gordon X-SVN-Commit-Paths: in releng: 10.3 10.3/crypto/openssl/ssl 10.3/sys/conf 10.4 10.4/crypto/openssl/ssl 10.4/sys/conf X-SVN-Commit-Revision: 326723 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-releng@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the release engineering / security commits to the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Dec 2017 03:45:25 -0000 Author: gordon Date: Sat Dec 9 03:45:23 2017 New Revision: 326723 URL: https://svnweb.freebsd.org/changeset/base/326723 Log: Fix error state handling Approved by: so Security: CVE-2017-3737 Security: FreeBSD-SA-17:12.openssl Modified: releng/10.3/UPDATING releng/10.3/crypto/openssl/ssl/ssl.h releng/10.3/sys/conf/newvers.sh releng/10.4/UPDATING releng/10.4/crypto/openssl/ssl/ssl.h releng/10.4/sys/conf/newvers.sh Modified: releng/10.3/UPDATING ============================================================================== --- releng/10.3/UPDATING Sat Dec 9 03:44:26 2017 (r326722) +++ releng/10.3/UPDATING Sat Dec 9 03:45:23 2017 (r326723) @@ -1,5 +1,5 @@ Updating Information for FreeBSD current users - +2 This file is maintained and copyrighted by M. Warner Losh . See end of file for further details. For commonly done items, please see the COMMON ITEMS: section later in the file. These instructions assume that you @@ -15,6 +15,10 @@ NOTE: FreeBSD has switched from gcc to clang. If you h from older versions of FreeBSD, try WITHOUT_CLANG to bootstrap to the tip of stable/10, and then rebuild without this option. The bootstrap process from older version of current is a bit fragile. + +20171209 p26 FreeBSD-SA-17:12.openssl + + Fix OpenSSL error state vulnerability. 20171129 p25 FreeBSD-SA-17:11.openssl Modified: releng/10.3/crypto/openssl/ssl/ssl.h ============================================================================== --- releng/10.3/crypto/openssl/ssl/ssl.h Sat Dec 9 03:44:26 2017 (r326722) +++ releng/10.3/crypto/openssl/ssl/ssl.h Sat Dec 9 03:45:23 2017 (r326723) @@ -1544,7 +1544,7 @@ extern "C" { # define SSL_ST_BEFORE 0x4000 # define SSL_ST_OK 0x03 # define SSL_ST_RENEGOTIATE (0x04|SSL_ST_INIT) -# define SSL_ST_ERR 0x05 +# define SSL_ST_ERR (0x05|SSL_ST_INIT) # define SSL_CB_LOOP 0x01 # define SSL_CB_EXIT 0x02 Modified: releng/10.3/sys/conf/newvers.sh ============================================================================== --- releng/10.3/sys/conf/newvers.sh Sat Dec 9 03:44:26 2017 (r326722) +++ releng/10.3/sys/conf/newvers.sh Sat Dec 9 03:45:23 2017 (r326723) @@ -32,7 +32,7 @@ TYPE="FreeBSD" REVISION="10.3" -BRANCH="RELEASE-p25" +BRANCH="RELEASE-p26" if [ "X${BRANCH_OVERRIDE}" != "X" ]; then BRANCH=${BRANCH_OVERRIDE} fi Modified: releng/10.4/UPDATING ============================================================================== --- releng/10.4/UPDATING Sat Dec 9 03:44:26 2017 (r326722) +++ releng/10.4/UPDATING Sat Dec 9 03:45:23 2017 (r326723) @@ -16,6 +16,10 @@ from older versions of FreeBSD, try WITHOUT_CLANG to b stable/10, and then rebuild without this option. The bootstrap process from older version of current is a bit fragile. +20171209 p5 FreeBSD-SA-17:12.openssl + + Fix OpenSSL error state vulnerability. + 20171129 p4 FreeBSD-SA-17:11.openssl Fix OpenSSL out-of-bounds read vulnerability. Modified: releng/10.4/crypto/openssl/ssl/ssl.h ============================================================================== --- releng/10.4/crypto/openssl/ssl/ssl.h Sat Dec 9 03:44:26 2017 (r326722) +++ releng/10.4/crypto/openssl/ssl/ssl.h Sat Dec 9 03:45:23 2017 (r326723) @@ -1544,7 +1544,7 @@ extern "C" { # define SSL_ST_BEFORE 0x4000 # define SSL_ST_OK 0x03 # define SSL_ST_RENEGOTIATE (0x04|SSL_ST_INIT) -# define SSL_ST_ERR 0x05 +# define SSL_ST_ERR (0x05|SSL_ST_INIT) # define SSL_CB_LOOP 0x01 # define SSL_CB_EXIT 0x02 Modified: releng/10.4/sys/conf/newvers.sh ============================================================================== --- releng/10.4/sys/conf/newvers.sh Sat Dec 9 03:44:26 2017 (r326722) +++ releng/10.4/sys/conf/newvers.sh Sat Dec 9 03:45:23 2017 (r326723) @@ -32,7 +32,7 @@ TYPE="FreeBSD" REVISION="10.4" -BRANCH="RELEASE-p4" +BRANCH="RELEASE-p5" if [ "X${BRANCH_OVERRIDE}" != "X" ]; then BRANCH=${BRANCH_OVERRIDE} fi