git: 992c6f8ea891 - main - security/openssl30: Security fix for CVE-2023-2975

From: Bernard Spil <brnrd_at_FreeBSD.org>
Date: Sun, 16 Jul 2023 18:25:19 UTC
The branch main has been updated by brnrd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=992c6f8ea8912a57874ec5a290247b46aaaee668

commit 992c6f8ea8912a57874ec5a290247b46aaaee668
Author:     Bernard Spil <brnrd@FreeBSD.org>
AuthorDate: 2023-07-16 18:24:07 +0000
Commit:     Bernard Spil <brnrd@FreeBSD.org>
CommitDate: 2023-07-16 18:24:07 +0000

    security/openssl30: Security fix for CVE-2023-2975
    
    Security:       41c60e16-2405-11ee-a0d1-84a93843eb75
---
 security/openssl30/Makefile                  |  3 +-
 security/openssl30/files/patch-CVE-2023-2975 | 54 ++++++++++++++++++++++++++++
 2 files changed, 56 insertions(+), 1 deletion(-)

diff --git a/security/openssl30/Makefile b/security/openssl30/Makefile
index 8a4a877899a4..a8b2a25904b2 100644
--- a/security/openssl30/Makefile
+++ b/security/openssl30/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	openssl
-DISTVERSION=	3.0.9
+PORTVERSION=	3.0.9
+PORTREVISION=	1
 CATEGORIES=	security devel
 MASTER_SITES=	https://www.openssl.org/source/ \
 		ftp://ftp.cert.dfn.de/pub/tools/net/openssl/source/
diff --git a/security/openssl30/files/patch-CVE-2023-2975 b/security/openssl30/files/patch-CVE-2023-2975
new file mode 100644
index 000000000000..397b46deb430
--- /dev/null
+++ b/security/openssl30/files/patch-CVE-2023-2975
@@ -0,0 +1,54 @@
+From 00e2f5eea29994d19293ec4e8c8775ba73678598 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)