From nobody Wed Mar 29 18:33:40 2023 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PmwDN2fwqz42vj7; Wed, 29 Mar 2023 18:33:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PmwDN1v8yz3MML; Wed, 29 Mar 2023 18:33:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1680114820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XqIXu8ceojjgYeu79Bql1WwwAkB9O/V7zpq08A9cx24=; b=GKnTBI27hKiiTUOvAnjf4gdQT/nTGWfAZOBNEXSfYCrXHUoedHPKQbcs5cWBywXqy41CFG bNgGSsC8DZFdzVWw1l6526nhxgPGrSzjb3+KmVQ9K9W4v5B2SkSKhaxbw2u3lwZCV9bLsO rlmQ6pyuYVBjqGfuH6k9elWnkKN7p4MPiGOIOaz/wRAGg+AII9Z1rgfNdx/pVUdeX/bYN3 4A85EKwb5mJc+/W9lNGsoqtueDnUIiq3NCC5hmspPueVBm13QdtbMJ5I7BFenJjfSrvK6n Yn5kd86ixS+xcIVFATuY/UizLCRevlzRYmCOb8/1GrNMm8srZmefbHlm1A0Ztg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1680114820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XqIXu8ceojjgYeu79Bql1WwwAkB9O/V7zpq08A9cx24=; b=pdw7Mu9fPCRXCrggqy2+ib/RRkQRTpNFJpPoZlsV9jwADif1fwC3tgMWPt+JE3XoCiAa9s Nm3xy+uqgdXMAtlWbM3WVwm2ifTcC2CXy2JMPi0wq5fyjiq8NoUm5Kib3rXOS/2B5PHKz3 azZUG/1tSZ4zkY8e8L8bJ0EUNBBnuFowzibfP5shLHZLaxVnnemSRNbkG5kLtGf9V1BjIJ h1IyNfZvaeaBmbL73+WN06YzHwzTMbwTL2v2UnrUVWPObY7pvaerRs8uJ3rZMRRooPypxR /9a158wKn7C51/E74keVZw6OXcuXLS8SZfIikx1/XS5NkHID8NltRtqJBV+56g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1680114820; a=rsa-sha256; cv=none; b=acVspMrzQPTqlhhhyVMwiWZDhaKlKUpVqmOOIBsTQ6qRK0B+g7a1tBV+yQq0uDOASuRwew 9iu3c1IsKOVWPlFP4Ng8+KfBi5ShHUfQ/5iQagQo8CU/WT+AHqtN3OReQtMoDHIrKGs6J/ QSYUaz5sRyPCv+H5ayCCqKQTx/O+4OgRp23Bf3gDZipOW8fcolLGnwvvEnAVRH0ZT0V6mV zi8E+ggH8YVdXMSbjRZIlQlSDyE8RZam6y++ZKFDmTm3OcFY/+Bklz6wKbGVh0zlBUy//U ActoVGNl3OBUOioiw7YP7W/iQXU/fBxhRic2kj7d6KRdofMOJLE910XUK2Eavw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PmwDN0y6xzhC4; Wed, 29 Mar 2023 18:33:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32TIXenW004972; Wed, 29 Mar 2023 18:33:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32TIXeVj004971; Wed, 29 Mar 2023 18:33:40 GMT (envelope-from git) Date: Wed, 29 Mar 2023 18:33:40 GMT Message-Id: <202303291833.32TIXeVj004971@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Bernard Spil Subject: git: 073184da6c96 - main - security/openssl: Security update for CVE-2023-0465 & 0466 List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brnrd X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 073184da6c96ee7a5d77d4853426074a25b3dea8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by brnrd: URL: https://cgit.FreeBSD.org/ports/commit/?id=073184da6c96ee7a5d77d4853426074a25b3dea8 commit 073184da6c96ee7a5d77d4853426074a25b3dea8 Author: Bernard Spil AuthorDate: 2023-03-29 18:32:57 +0000 Commit: Bernard Spil CommitDate: 2023-03-29 18:32:57 +0000 security/openssl: Security update for CVE-2023-0465 & 0466 Security: 425b9538-ce5f-11ed-ade3-d4c9ef517024 --- security/openssl31/Makefile | 2 +- security/openssl31/files/patch-CVE-2023-0464 | 75 ++++++++++++++++ security/openssl31/files/patch-CVE-2023-0465 | 126 +++++++++++++++++++++++++++ security/openssl31/files/patch-CVE-2023-0466 | 91 +++++++++++++++++++ 4 files changed, 293 insertions(+), 1 deletion(-) diff --git a/security/openssl31/Makefile b/security/openssl31/Makefile index 08c970f50f76..041bc222b9b3 100644 --- a/security/openssl31/Makefile +++ b/security/openssl31/Makefile @@ -1,6 +1,6 @@ PORTNAME= openssl DISTVERSION= 3.1.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= security devel MASTER_SITES= https://www.openssl.org/source/ \ ftp://ftp.cert.dfn.de/pub/tools/net/openssl/source/ diff --git a/security/openssl31/files/patch-CVE-2023-0464 b/security/openssl31/files/patch-CVE-2023-0464 index 08918b990a6a..42c2da901f03 100644 --- a/security/openssl31/files/patch-CVE-2023-0464 +++ b/security/openssl31/files/patch-CVE-2023-0464 @@ -1,3 +1,78 @@ +From 28b69c9b4cf451655fe5aa5904294512fa4706c7 Mon Sep 17 00:00:00 2001 +From: Matt Caswell +Date: Tue, 14 Mar 2023 12:59:14 +0000 +Subject: [PATCH] Prepare for 3.1.1 + +Reviewed-by: Tomas Mraz +Release: yes +--- + CHANGES.md | 4 ++++ + NEWS.md | 4 ++++ + VERSION.dat | 6 +++--- + 3 files changed, 11 insertions(+), 3 deletions(-) + +diff --git a/CHANGES.md b/CHANGES.md +index 762f42e2c449..950390780ba1 100644 +--- CHANGES.md.orig ++++ CHANGES.md +@@ -22,6 +22,10 @@ OpenSSL Releases + OpenSSL 3.1 + ----------- + ++### Changes between 3.1.0 and 3.1.1 [xx XXX xxxx] ++ ++ * none yet ++ + ### Changes between 3.0 and 3.1.0 [14 Mar 2023] + + * Add FIPS provider configuration option to enforce the +diff --git a/NEWS.md b/NEWS.md +index 7846919675d5..c243c5e6818a 100644 +--- NEWS.md.orig ++++ NEWS.md +@@ -19,6 +19,10 @@ OpenSSL Releases + OpenSSL 3.1 + ----------- + ++### Major changes between OpenSSL 3.1.0 and OpenSSL 3.1.1 [under development] ++ ++ * none ++ + ### Major changes between OpenSSL 3.0 and OpenSSL 3.1.0 [14 Mar 2023] + + * SSL 3, TLS 1.0, TLS 1.1, and DTLS 1.0 only work at security level 0. +From b15797a81a76fd62eedf3ffda91dcf5162b51184 Mon Sep 17 00:00:00 2001 +From: Pauli +Date: Wed, 15 Mar 2023 14:13:22 +1100 +Subject: [PATCH] changes: note about policy tree size limits and circumvention + +Reviewed-by: Tomas Mraz +Reviewed-by: Shane Lontis +(Merged from https://github.com/openssl/openssl/pull/20570) +--- + CHANGES.md | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/CHANGES.md b/CHANGES.md +index 950390780ba1..99cabb3057fb 100644 +--- CHANGES.md.orig ++++ CHANGES.md +@@ -24,7 +24,14 @@ OpenSSL 3.1 + + ### Changes between 3.1.0 and 3.1.1 [xx XXX xxxx] + +- * none yet ++ * Limited the number of nodes created in a policy tree to mitigate ++ against CVE-2023-0464. The default limit is set to 1000 nodes, which ++ should be sufficient for most installations. If required, the limit ++ can be adjusted by setting the OPENSSL_POLICY_TREE_NODES_MAX build ++ time define to a desired maximum number of nodes or zero to allow ++ unlimited growth. ++ ++ *Paul Dale* + + ### Changes between 3.0 and 3.1.0 [14 Mar 2023] + From 2017771e2db3e2b96f89bbe8766c3209f6a99545 Mon Sep 17 00:00:00 2001 From: Pauli Date: Wed, 8 Mar 2023 15:28:20 +1100 diff --git a/security/openssl31/files/patch-CVE-2023-0465 b/security/openssl31/files/patch-CVE-2023-0465 new file mode 100644 index 000000000000..3873133819b7 --- /dev/null +++ b/security/openssl31/files/patch-CVE-2023-0465 @@ -0,0 +1,126 @@ +From 07d8baf3367cbbf81877510e5102e6193da4bfe7 Mon Sep 17 00:00:00 2001 +From: Matt Caswell +Date: Thu, 23 Mar 2023 15:31:25 +0000 +Subject: [PATCH] Updated CHANGES.md and NEWS.md for CVE-2023-0465 + +Also updated the entries for CVE-2023-0464 + +Related-to: CVE-2023-0465 + +Reviewed-by: Hugo Landau +Reviewed-by: Tomas Mraz +(Merged from https://github.com/openssl/openssl/pull/20586) +--- + CHANGES.md | 12 ++++++++++++ + NEWS.md | 6 +++++- + 2 files changed, 17 insertions(+), 1 deletion(-) + +diff --git a/CHANGES.md b/CHANGES.md +index 99cabb3057fb..511886d213f9 100644 +--- CHANGES.md.orig ++++ CHANGES.md +@@ -24,12 +24,22 @@ OpenSSL 3.1 + + ### Changes between 3.1.0 and 3.1.1 [xx XXX xxxx] + ++ * Fixed an issue where invalid certificate policies in leaf certificates are ++ silently ignored by OpenSSL and other certificate policy checks are skipped ++ for that certificate. A malicious CA could use this to deliberately assert ++ invalid certificate policies in order to circumvent policy checking on the ++ certificate altogether. ++ ([CVE-2023-0465]) ++ ++ *Matt Caswell* ++ + * Limited the number of nodes created in a policy tree to mitigate + against CVE-2023-0464. The default limit is set to 1000 nodes, which + should be sufficient for most installations. If required, the limit + can be adjusted by setting the OPENSSL_POLICY_TREE_NODES_MAX build + time define to a desired maximum number of nodes or zero to allow + unlimited growth. ++ ([CVE-2023-0464]) + + *Paul Dale* + +@@ -19689,6 +19699,8 @@ ndif + + + ++[CVE-2023-0465]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0465 ++[CVE-2023-0464]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0464 + [CVE-2023-0401]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0401 + [CVE-2023-0286]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0286 + [CVE-2023-0217]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0217 +diff --git a/NEWS.md b/NEWS.md +index c243c5e6818a..23f918f604ea 100644 +--- NEWS.md.orig ++++ NEWS.md +@@ -21,7 +21,9 @@ OpenSSL 3.1 + + ### Major changes between OpenSSL 3.1.0 and OpenSSL 3.1.1 [under development] + +- * none ++ * Fixed handling of invalid certificate policies in leaf certificates ++ ([CVE-2023-0465]) ++ * Limited the number of nodes created in a policy tree ([CVE-2023-0464]) + + ### Major changes between OpenSSL 3.0 and OpenSSL 3.1.0 [14 Mar 2023] + +@@ -1446,6 +1448,8 @@ OpenSSL 0.9.x + * Support for various new platforms + + ++[CVE-2023-0465]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0465 ++[CVE-2023-0464]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0464 + [CVE-2023-0401]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0401 + [CVE-2023-0286]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0286 + [CVE-2023-0217]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0217 +From facfb1ab745646e97a1920977ae4a9965ea61d5c Mon Sep 17 00:00:00 2001 +From: Matt Caswell +Date: Tue, 7 Mar 2023 16:52:55 +0000 +Subject: [PATCH] Ensure that EXFLAG_INVALID_POLICY is checked even in leaf + certs + +Even though we check the leaf cert to confirm it is valid, we +later ignored the invalid flag and did not notice that the leaf +cert was bad. + +Fixes: CVE-2023-0465 + +Reviewed-by: Hugo Landau +Reviewed-by: Tomas Mraz +(Merged from https://github.com/openssl/openssl/pull/20586) +--- + crypto/x509/x509_vfy.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/crypto/x509/x509_vfy.c b/crypto/x509/x509_vfy.c +index 9384f1da9bad..a0282c3ef121 100644 +--- crypto/x509/x509_vfy.c.orig ++++ crypto/x509/x509_vfy.c +@@ -1654,15 +1654,23 @@ static int check_policy(X509_STORE_CTX *ctx) + goto memerr; + /* Invalid or inconsistent extensions */ + if (ret == X509_PCY_TREE_INVALID) { +- int i; ++ int i, cbcalled = 0; + + /* Locate certificates with bad extensions and notify callback. */ +- for (i = 1; i < sk_X509_num(ctx->chain); i++) { ++ for (i = 0; i < sk_X509_num(ctx->chain); i++) { + X509 *x = sk_X509_value(ctx->chain, i); + ++ if ((x->ex_flags & EXFLAG_INVALID_POLICY) != 0) ++ cbcalled = 1; + CB_FAIL_IF((x->ex_flags & EXFLAG_INVALID_POLICY) != 0, + ctx, x, i, X509_V_ERR_INVALID_POLICY_EXTENSION); + } ++ if (!cbcalled) { ++ /* Should not be able to get here */ ++ ERR_raise(ERR_LIB_X509, ERR_R_INTERNAL_ERROR); ++ return 0; ++ } ++ /* The callback ignored the error so we return success */ + return 1; + } + if (ret == X509_PCY_TREE_FAILURE) { diff --git a/security/openssl31/files/patch-CVE-2023-0466 b/security/openssl31/files/patch-CVE-2023-0466 new file mode 100644 index 000000000000..c115bacd1089 --- /dev/null +++ b/security/openssl31/files/patch-CVE-2023-0466 @@ -0,0 +1,91 @@ +From fc814a30fc4f0bc54fcea7d9a7462f5457aab061 Mon Sep 17 00:00:00 2001 +From: Tomas Mraz +Date: Tue, 21 Mar 2023 16:15:47 +0100 +Subject: [PATCH] Fix documentation of X509_VERIFY_PARAM_add0_policy() + +The function was incorrectly documented as enabling policy checking. + +Fixes: CVE-2023-0466 + +Reviewed-by: Paul Dale +Reviewed-by: Matt Caswell +(Merged from https://github.com/openssl/openssl/pull/20562) +--- + CHANGES.md | 8 ++++++++ + NEWS.md | 2 ++ + doc/man3/X509_VERIFY_PARAM_set_flags.pod | 9 +++++++-- + 3 files changed, 17 insertions(+), 2 deletions(-) + +diff --git a/CHANGES.md b/CHANGES.md +index 511886d213f9..dc701f0388de 100644 +--- CHANGES.md.orig ++++ CHANGES.md +@@ -24,6 +24,13 @@ OpenSSL 3.1 + + ### Changes between 3.1.0 and 3.1.1 [xx XXX xxxx] + ++ * Corrected documentation of X509_VERIFY_PARAM_add0_policy() to mention ++ that it does not enable policy checking. Thanks to David Benjamin for ++ discovering this issue. ++ ([CVE-2023-0466]) ++ ++ *Tomáš Mráz* ++ + * Fixed an issue where invalid certificate policies in leaf certificates are + silently ignored by OpenSSL and other certificate policy checks are skipped + for that certificate. A malicious CA could use this to deliberately assert +@@ -19699,6 +19706,7 @@ ndif + + + ++[CVE-2023-0466]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0466 + [CVE-2023-0465]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0465 + [CVE-2023-0464]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0464 + [CVE-2023-0401]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0401 +diff --git a/NEWS.md b/NEWS.md +index 23f918f604ea..9477662c822d 100644 +--- NEWS.md.orig ++++ NEWS.md +@@ -21,6 +21,7 @@ OpenSSL 3.1 + + ### Major changes between OpenSSL 3.1.0 and OpenSSL 3.1.1 [under development] + ++ * Fixed documentation of X509_VERIFY_PARAM_add0_policy() ([CVE-2023-0466]) + * Fixed handling of invalid certificate policies in leaf certificates + ([CVE-2023-0465]) + * Limited the number of nodes created in a policy tree ([CVE-2023-0464]) +@@ -1448,6 +1449,7 @@ OpenSSL 0.9.x + * Support for various new platforms + + ++[CVE-2023-0466]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0466 + [CVE-2023-0465]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0465 + [CVE-2023-0464]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0464 + [CVE-2023-0401]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0401 +diff --git a/doc/man3/X509_VERIFY_PARAM_set_flags.pod b/doc/man3/X509_VERIFY_PARAM_set_flags.pod +index 20aea99b5b3a..fcbbfc4c3067 100644 +--- doc/man3/X509_VERIFY_PARAM_set_flags.pod.orig ++++ doc/man3/X509_VERIFY_PARAM_set_flags.pod +@@ -98,8 +98,9 @@ B. + X509_VERIFY_PARAM_set_time() sets the verification time in B to + B. Normally the current time is used. + +-X509_VERIFY_PARAM_add0_policy() enables policy checking (it is disabled +-by default) and adds B to the acceptable policy set. ++X509_VERIFY_PARAM_add0_policy() adds B to the acceptable policy set. ++Contrary to preexisting documentation of this function it does not enable ++policy checking. + + X509_VERIFY_PARAM_set1_policies() enables policy checking (it is disabled + by default) and sets the acceptable policy set to B. Any existing +@@ -400,6 +401,10 @@ The X509_VERIFY_PARAM_get_hostflags() function was added in OpenSSL 1.1.0i. + The X509_VERIFY_PARAM_get0_host(), X509_VERIFY_PARAM_get0_email(), + and X509_VERIFY_PARAM_get1_ip_asc() functions were added in OpenSSL 3.0. + ++The function X509_VERIFY_PARAM_add0_policy() was historically documented as ++enabling policy checking however the implementation has never done this. ++The documentation was changed to align with the implementation. ++ + =head1 COPYRIGHT + + Copyright 2009-2023 The OpenSSL Project Authors. All Rights Reserved.