From nobody Wed Mar 29 18:53:43 2023 X-Original-To: dev-commits-ports-main@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 4PmwgW3KmBz42wb8; Wed, 29 Mar 2023 18:53:43 +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 4PmwgW2p57z3Py7; Wed, 29 Mar 2023 18:53:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1680116023; 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=06F6SkuH6f2HlBRbNn4RyNMdoKga+MwwDNOtrUYclyE=; b=RdHobE3CFmaXDvgs7XpqqlXE5eORQ2E0lWkiwdsGobeiduShBtCvHRhXnFVj23IgNqpbrj sIgTVW0fmrdVGu3LSUdrRNMt46ePI55z47huoQ6XP7u/8eNOxkLwZNAy2OhaN+vzUodjum 5SZxNWMdOu+uvzQCLPZd3EO+QTLpYjLOkIz9vET65KP4HxpKkGyBJLgHgG3oN40NhE6Y+E j4dGLuldmx89B9e2a7WuAOse3zVtPkEJS3B9fi6Ju1DFOVBPgz7un7ALkOWs3ohD7s7NOL +nl8dysu67Hv1+fJIlsjTPqi6oz5sAd3sw2+6B2kq5G3D4AstG2SjrQE+yprtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1680116023; 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=06F6SkuH6f2HlBRbNn4RyNMdoKga+MwwDNOtrUYclyE=; b=OfVPnbMowTFvCRcZy5OnH70tTZCsC6ctbY+SQxs+zpCz3lUsWX/QXmAt3tbJyidWTnHioH rU/f/A9s1Iynm+Htc3WJOxMCjXpjdPBQim+2RCvrc48qHDMPw2aoj5CWYo2zbZf0nzYw+U ySrgWUDid3WrJPQUfwt/KS/K1YhTR4DIb2HMrqpV5rOdj0ODKBzKQHK0oIFxiaDXIteyTC MxHvqut3JsqwG33AUgjgMoFA3Qxyu7Rgb4CyfvV7zfSTS7dJh7/WDtde7bq3do4iougzIO WA3ojqIR0qF25nQtDp4EedstvotyR7B1nZsG8wFnm3t2D9mF+jPFX5z+kx1XXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1680116023; a=rsa-sha256; cv=none; b=lsrA16ABUBQWMdTQ2kq86vx//OggK6EjtF4Fz4k2geq4MYsJz2RRO5FzfoMsklx6dVQ6Zw LGvKEtjG1yUO/T90xxBXpnfS/MdE75GfIuzrzPrKpHmFuxhBfUkFQxrc33NoTg1a16Bkxw jKFYqFkyhHkzzdzhe5R3KH/aY7z4q0Gh/ds/yCH9ZwDiYs7bRq7K/lkMqzJzEpl7gApSiI peLRP9Zvl8JFIXzK9qi+2N/DPQxWNTpEVvYqEF7rdYeOd2TJ3R19mny9qniAsDHKUpE8Oj 9XZVYIvTUVkYd8V3N3JeuhFl4cwvRhUTI4FBE/0KOKHv3M6zqU2PgaDaBO0n4w== 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 4PmwgW1r9kzhVp; Wed, 29 Mar 2023 18:53:43 +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 32TIrhvN038210; Wed, 29 Mar 2023 18:53:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32TIrhAE038209; Wed, 29 Mar 2023 18:53:43 GMT (envelope-from git) Date: Wed, 29 Mar 2023 18:53:43 GMT Message-Id: <202303291853.32TIrhAE038209@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: 543bd99158b8 - main - security/openssl: Security update for CVE-2023-0465 & 0466 List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@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: 543bd99158b8ebc2dbe2d6c16f98c36cd59359b5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by brnrd: URL: https://cgit.FreeBSD.org/ports/commit/?id=543bd99158b8ebc2dbe2d6c16f98c36cd59359b5 commit 543bd99158b8ebc2dbe2d6c16f98c36cd59359b5 Author: Bernard Spil AuthorDate: 2023-03-29 18:53:07 +0000 Commit: Bernard Spil CommitDate: 2023-03-29 18:53:07 +0000 security/openssl: Security update for CVE-2023-0465 & 0466 Security: 425b9538-ce5f-11ed-ade3-d4c9ef517024 --- security/openssl/Makefile | 2 +- security/openssl/files/patch-CVE-2023-0464 | 86 +++++++++++++++++++++++ security/openssl/files/patch-CVE-2023-0465 | 108 +++++++++++++++++++++++++++++ security/openssl/files/patch-CVE-2023-0466 | 73 +++++++++++++++++++ 4 files changed, 268 insertions(+), 1 deletion(-) diff --git a/security/openssl/Makefile b/security/openssl/Makefile index a3da4fe2a89d..bd06e4c9cd84 100644 --- a/security/openssl/Makefile +++ b/security/openssl/Makefile @@ -1,6 +1,6 @@ PORTNAME= openssl PORTVERSION= 1.1.1t -PORTREVISION= 1 +PORTREVISION= 2 PORTEPOCH= 1 CATEGORIES= security devel MASTER_SITES= https://www.openssl.org/source/ \ diff --git a/security/openssl/files/patch-CVE-2023-0464 b/security/openssl/files/patch-CVE-2023-0464 index d140070b8c6f..4eec12371299 100644 --- a/security/openssl/files/patch-CVE-2023-0464 +++ b/security/openssl/files/patch-CVE-2023-0464 @@ -217,3 +217,89 @@ index 6e8322cbc5e3..6c7fd3540500 100644 return X509_PCY_TREE_INTERNAL; if (!(curr->flags & X509_V_FLAG_INHIBIT_ANY) +From fd42c9126844f5eefa76872a1ffe5f529f8f75df Mon Sep 17 00:00:00 2001 +From: Richard Levitte +Date: Tue, 7 Feb 2023 14:37:22 +0100 +Subject: [PATCH] Prepare for 1.1.1u-dev + +Reviewed-by: Tomas Mraz +Release: yes +--- + CHANGES | 4 ++++ + NEWS | 4 ++++ + README | 2 +- + include/openssl/opensslv.h | 4 ++-- + 4 files changed, 11 insertions(+), 3 deletions(-) + +diff --git a/CHANGES b/CHANGES +index 1e2d651b7514..f18b08cb0ee2 100644 +--- CHANGES.orig ++++ CHANGES +@@ -7,6 +7,10 @@ + https://github.com/openssl/openssl/commits/ and pick the appropriate + release branch. + ++ Changes between 1.1.1t and 1.1.1u [xx XXX xxxx] ++ ++ *) ++ + Changes between 1.1.1s and 1.1.1t [7 Feb 2023] + + *) Fixed X.400 address type confusion in X.509 GeneralName. +diff --git a/NEWS b/NEWS +index 2724fc4d85ba..8a18516d8609 100644 +--- NEWS.orig ++++ NEWS +@@ -5,6 +5,10 @@ + This file gives a brief overview of the major changes between each OpenSSL + release. For more details please read the CHANGES file. + ++ Major changes between OpenSSL 1.1.1t and OpenSSL 1.1.1u [under development] ++ ++ o ++ + Major changes between OpenSSL 1.1.1s and OpenSSL 1.1.1t [7 Feb 2023] + + o Fixed X.400 address type confusion in X.509 GeneralName (CVE-2023-0286) +diff --git a/README b/README +index b2f806be3a44..1957cf1f5515 100644 +--- README.orig ++++ README +@@ -1,5 +1,5 @@ + +- OpenSSL 1.1.1t 7 Feb 2023 ++ OpenSSL 1.1.1u-dev + + Copyright (c) 1998-2022 The OpenSSL Project + Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson +From fa425f20955c7948faed27f69ae4544f89c108ea Mon Sep 17 00:00:00 2001 +From: Pauli +Date: Wed, 15 Mar 2023 14:29: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/20569) +--- + CHANGES | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/CHANGES b/CHANGES +index f18b08cb0ee2..17caf6775bfe 100644 +--- CHANGES.orig ++++ CHANGES +@@ -9,7 +9,13 @@ + + Changes between 1.1.1t and 1.1.1u [xx XXX xxxx] + +- *) ++ *) 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 1.1.1s and 1.1.1t [7 Feb 2023] + diff --git a/security/openssl/files/patch-CVE-2023-0465 b/security/openssl/files/patch-CVE-2023-0465 new file mode 100644 index 000000000000..db4b01e81287 --- /dev/null +++ b/security/openssl/files/patch-CVE-2023-0465 @@ -0,0 +1,108 @@ +From 8bc232b14624b7af01801d7940b7dec59b3ae47d Mon Sep 17 00:00:00 2001 +From: Matt Caswell +Date: Thu, 23 Mar 2023 15:31:25 +0000 +Subject: [PATCH] Updated CHANGES and NEWS 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/20588) +--- + CHANGES | 9 ++++++++- + NEWS | 4 +++- + 2 files changed, 11 insertions(+), 2 deletions(-) + +diff --git a/CHANGES b/CHANGES +index 17caf6775bfe..efccf7838e65 100644 +--- CHANGES.orig ++++ CHANGES +@@ -9,12 +9,19 @@ + + Changes between 1.1.1t and 1.1.1u [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. ++ unlimited growth. (CVE-2023-0464) + [Paul Dale] + + Changes between 1.1.1s and 1.1.1t [7 Feb 2023] +diff --git a/NEWS b/NEWS +index 8a18516d8609..36a9bb6890bf 100644 +--- NEWS.orig ++++ NEWS +@@ -7,7 +7,9 @@ + + Major changes between OpenSSL 1.1.1t and OpenSSL 1.1.1u [under development] + +- o ++ o Fixed handling of invalid certificate policies in leaf certificates ++ (CVE-2023-0465) ++ o Limited the number of nodes created in a policy tree ([CVE-2023-0464]) + + Major changes between OpenSSL 1.1.1s and OpenSSL 1.1.1t [7 Feb 2023] + +From b013765abfa80036dc779dd0e50602c57bb3bf95 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/20588) +--- + crypto/x509/x509_vfy.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/crypto/x509/x509_vfy.c b/crypto/x509/x509_vfy.c +index 925fbb541258..1dfe4f9f31a5 100644 +--- crypto/x509/x509_vfy.c.orig ++++ crypto/x509/x509_vfy.c +@@ -1649,18 +1649,25 @@ static int check_policy(X509_STORE_CTX *ctx) + } + /* 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)) + continue; ++ cbcalled = 1; + if (!verify_cb_cert(ctx, x, i, + X509_V_ERR_INVALID_POLICY_EXTENSION)) + return 0; + } ++ if (!cbcalled) { ++ /* Should not be able to get here */ ++ X509err(X509_F_CHECK_POLICY, 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/openssl/files/patch-CVE-2023-0466 b/security/openssl/files/patch-CVE-2023-0466 new file mode 100644 index 000000000000..f3635e6a8066 --- /dev/null +++ b/security/openssl/files/patch-CVE-2023-0466 @@ -0,0 +1,73 @@ +From 0d16b7e99aafc0b4a6d729eec65a411a7e025f0a 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: Matt Caswell +Reviewed-by: Paul Dale +(Merged from https://github.com/openssl/openssl/pull/20564) +--- + CHANGES | 5 +++++ + NEWS | 1 + + doc/man3/X509_VERIFY_PARAM_set_flags.pod | 9 +++++++-- + 3 files changed, 13 insertions(+), 2 deletions(-) + +diff --git a/CHANGES b/CHANGES +index efccf7838e65..b19f1429bbb0 100644 +--- CHANGES.orig ++++ CHANGES +@@ -9,6 +9,11 @@ + + Changes between 1.1.1t and 1.1.1u [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) ++ [Tomas Mraz] ++ + *) 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 +diff --git a/NEWS b/NEWS +index 36a9bb6890bf..62615693fab8 100644 +--- NEWS.orig ++++ NEWS +@@ -7,6 +7,7 @@ + + Major changes between OpenSSL 1.1.1t and OpenSSL 1.1.1u [under development] + ++ o Fixed documentation of X509_VERIFY_PARAM_add0_policy() (CVE-2023-0466) + o Fixed handling of invalid certificate policies in leaf certificates + (CVE-2023-0465) + o Limited the number of nodes created in a policy tree ([CVE-2023-0464]) +diff --git a/doc/man3/X509_VERIFY_PARAM_set_flags.pod b/doc/man3/X509_VERIFY_PARAM_set_flags.pod +index f6f304bf7bd0..aa292f9336fc 100644 +--- doc/man3/X509_VERIFY_PARAM_set_flags.pod.orig ++++ doc/man3/X509_VERIFY_PARAM_set_flags.pod +@@ -92,8 +92,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 +@@ -377,6 +378,10 @@ and has no effect. + + The X509_VERIFY_PARAM_get_hostflags() function was added in OpenSSL 1.1.0i. + ++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-2020 The OpenSSL Project Authors. All Rights Reserved.