git: 8b0c2c947dd6 - main - security/openssl31: Update to 3.1.2

From: Bernard Spil <brnrd_at_FreeBSD.org>
Date: Wed, 02 Aug 2023 19:45:02 UTC
The branch main has been updated by brnrd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8b0c2c947dd6b51f2e2a9046c815e6da1d0ca953

commit 8b0c2c947dd6b51f2e2a9046c815e6da1d0ca953
Author:     Bernard Spil <brnrd@FreeBSD.org>
AuthorDate: 2023-08-02 19:44:29 +0000
Commit:     Bernard Spil <brnrd@FreeBSD.org>
CommitDate: 2023-08-02 19:44:29 +0000

    security/openssl31: Update to 3.1.2
    
     * MFH this version as this is a roll-up of multiple vulnerability fixes
    
    MFH:            2023Q3
---
 security/openssl31/Makefile                  |  3 +-
 security/openssl31/distinfo                  |  6 +--
 security/openssl31/files/patch-CVE-2023-2975 | 54 --------------------------
 security/openssl31/files/patch-CVE-2023-3817 | 57 ----------------------------
 4 files changed, 4 insertions(+), 116 deletions(-)

diff --git a/security/openssl31/Makefile b/security/openssl31/Makefile
index 0625a0573716..e0baa28cfd53 100644
--- a/security/openssl31/Makefile
+++ b/security/openssl31/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	openssl
-PORTVERSION=	3.1.1
-PORTREVISION=	2
+PORTVERSION=	3.1.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/distinfo b/security/openssl31/distinfo
index 65be6f34f8a4..7bff6a06bbec 100644
--- a/security/openssl31/distinfo
+++ b/security/openssl31/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1685532140
-SHA256 (openssl-3.1.1.tar.gz) = b3aa61334233b852b63ddb048df181177c2c659eb9d4376008118f9c08d07674
-SIZE (openssl-3.1.1.tar.gz) = 15544757
+TIMESTAMP = 1691004202
+SHA256 (openssl-3.1.2.tar.gz) = a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539
+SIZE (openssl-3.1.2.tar.gz) = 15560427
diff --git a/security/openssl31/files/patch-CVE-2023-2975 b/security/openssl31/files/patch-CVE-2023-2975
deleted file mode 100644
index dde528e31be4..000000000000
--- a/security/openssl31/files/patch-CVE-2023-2975
+++ /dev/null
@@ -1,54 +0,0 @@
-From 6a83f0c958811f07e0d11dfc6b5a6a98edfd5bdc Mon Sep 17 00:00:00 2001
-From: Tomas Mraz <tomas@openssl.org>
-Date: Tue, 4 Jul 2023 17:30:35 +0200
-Subject: [PATCH] Do not ignore empty associated data with AES-SIV mode
-
-The AES-SIV mode allows for multiple associated data items
-authenticated separately with any of these being 0 length.
-
-The provided implementation ignores such empty associated data
-which is incorrect in regards to the RFC 5297 and is also
-a security issue because such empty associated data then become
-unauthenticated if an application expects to authenticate them.
-
-Fixes CVE-2023-2975
-
-Reviewed-by: Matt Caswell <matt@openssl.org>
-Reviewed-by: Paul Dale <pauli@openssl.org>
-(Merged from https://github.com/openssl/openssl/pull/21384)
-
-(cherry picked from commit c426c281cfc23ab182f7d7d7a35229e7db1494d9)
----
- .../implementations/ciphers/cipher_aes_siv.c   | 18 +++++++++++-------
- 1 file changed, 11 insertions(+), 7 deletions(-)
-
-diff --git a/providers/implementations/ciphers/cipher_aes_siv.c b/providers/implementations/ciphers/cipher_aes_siv.c
-index 45010b90db2a..b396c8651a32 100644
---- providers/implementations/ciphers/cipher_aes_siv.c.orig
-+++ providers/implementations/ciphers/cipher_aes_siv.c
-@@ -120,14 +120,18 @@ static int siv_cipher(void *vctx, unsigned char *out, size_t *outl,
-     if (!ossl_prov_is_running())
-         return 0;
- 
--    if (inl == 0) {
--        *outl = 0;
--        return 1;
--    }
-+    /* Ignore just empty encryption/decryption call and not AAD. */
-+    if (out != NULL) {
-+        if (inl == 0) {
-+            if (outl != NULL)
-+                *outl = 0;
-+            return 1;
-+        }
- 
--    if (outsize < inl) {
--        ERR_raise(ERR_LIB_PROV, PROV_R_OUTPUT_BUFFER_TOO_SMALL);
--        return 0;
-+        if (outsize < inl) {
-+            ERR_raise(ERR_LIB_PROV, PROV_R_OUTPUT_BUFFER_TOO_SMALL);
-+            return 0;
-+        }
-     }
- 
-     if (ctx->hw->cipher(ctx, out, in, inl) <= 0)
diff --git a/security/openssl31/files/patch-CVE-2023-3817 b/security/openssl31/files/patch-CVE-2023-3817
deleted file mode 100644
index cbb1a7ae0128..000000000000
--- a/security/openssl31/files/patch-CVE-2023-3817
+++ /dev/null
@@ -1,57 +0,0 @@
-From 6a1eb62c29db6cb5eec707f9338aee00f44e26f5 Mon Sep 17 00:00:00 2001
-From: Tomas Mraz <tomas@openssl.org>
-Date: Tue, 25 Jul 2023 15:22:48 +0200
-Subject: [PATCH] DH_check(): Do not try checking q properties if it is
- obviously invalid
-
-If  |q| >= |p| then the q value is obviously wrong as q
-is supposed to be a prime divisor of p-1.
-
-We check if p is overly large so this added test implies that
-q is not large either when performing subsequent tests using that
-q value.
-
-Otherwise if it is too large these additional checks of the q value
-such as the primality test can then trigger DoS by doing overly long
-computations.
-
-Fixes CVE-2023-3817
-
-Reviewed-by: Matt Caswell <matt@openssl.org>
-Reviewed-by: Paul Dale <pauli@openssl.org>
-Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
-Reviewed-by: Todd Short <todd.short@me.com>
-(Merged from https://github.com/openssl/openssl/pull/21550)
-
-(cherry picked from commit 1c16253f3c3a8d1e25918c3f404aae6a5b0893de)
----
- crypto/dh/dh_check.c | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/crypto/dh/dh_check.c b/crypto/dh/dh_check.c
-index aef6f9b1b77d..fbe279756954 100644
---- crypto/dh/dh_check.c.orig
-+++ crypto/dh/dh_check.c
-@@ -143,7 +143,7 @@ int DH_check(const DH *dh, int *ret)
- #ifdef FIPS_MODULE
-     return DH_check_params(dh, ret);
- #else
--    int ok = 0, r;
-+    int ok = 0, r, q_good = 0;
-     BN_CTX *ctx = NULL;
-     BIGNUM *t1 = NULL, *t2 = NULL;
-     int nid = DH_get_nid((DH *)dh);
-@@ -172,6 +172,13 @@ int DH_check(const DH *dh, int *ret)
-         goto err;
- 
-     if (dh->params.q != NULL) {
-+        if (BN_ucmp(dh->params.p, dh->params.q) > 0)
-+            q_good = 1;
-+        else
-+            *ret |= DH_CHECK_INVALID_Q_VALUE;
-+    }
-+
-+    if (q_good) {
-         if (BN_cmp(dh->params.g, BN_value_one()) <= 0)
-             *ret |= DH_NOT_SUITABLE_GENERATOR;
-         else if (BN_cmp(dh->params.g, dh->params.p) >= 0)