diff options
author | Bernard Spil <brnrd@FreeBSD.org> | 2023-07-16 18:24:07 +0000 |
---|---|---|
committer | Bernard Spil <brnrd@FreeBSD.org> | 2023-07-16 18:24:07 +0000 |
commit | 992c6f8ea8912a57874ec5a290247b46aaaee668 (patch) | |
tree | d032dd01c2d050afc1c1a78e11636fd20067a565 | |
parent | 0d5cbaaa31b53cc5be68d9c71a9399a25d7b8261 (diff) | |
download | ports-992c6f8ea8912a57874ec5a290247b46aaaee668.tar.gz ports-992c6f8ea8912a57874ec5a290247b46aaaee668.zip |
security/openssl30: Security fix for CVE-2023-2975
Security: 41c60e16-2405-11ee-a0d1-84a93843eb75
-rw-r--r-- | security/openssl30/Makefile | 3 | ||||
-rw-r--r-- | security/openssl30/files/patch-CVE-2023-2975 | 54 |
2 files changed, 56 insertions, 1 deletions
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) |