summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/openssl/openssl
diff options
context:
space:
mode:
authorHitendra Prajapati <hprajapati@mvista.com>2022-10-20 09:48:08 +0530
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-10-26 12:28:39 +0100
commitb62f7c24bf2840b9ab1ef1e90f265e179dd892de (patch)
tree6f68d5301520c196b3b0b242505a5c316329ad27 /meta/recipes-connectivity/openssl/openssl
parent1462ce375eeb3429081f63280943fba838866a94 (diff)
downloadpoky-b62f7c24bf2840b9ab1ef1e90f265e179dd892de.tar.gz
openssl: CVE-2022-3358 Using a Custom Cipher with NID_undef may lead to NULL encryption
Upstream-Status: Backport from https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=5485c56679d7c49b96e8fc8ca708b0b7e7c03c4b] Description: CVE-2022-3358 openssl: Using a Custom Cipher with NID_undef may lead to NULL encryption. Affects "openssl < 3.0.6" (From OE-Core rev: f98b2273c6f03f8f6029a7a409600ce290817e27) Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-connectivity/openssl/openssl')
-rw-r--r--meta/recipes-connectivity/openssl/openssl/CVE-2022-3358.patch55
1 files changed, 55 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/openssl/openssl/CVE-2022-3358.patch b/meta/recipes-connectivity/openssl/openssl/CVE-2022-3358.patch
new file mode 100644
index 0000000000..18b2a5a6b2
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/CVE-2022-3358.patch
@@ -0,0 +1,55 @@
1From 56e1d693f0ec5550a8e3dd52d30e57a02f0287af Mon Sep 17 00:00:00 2001
2From: Hitendra Prajapati <hprajapati@mvista.com>
3Date: Wed, 19 Oct 2022 11:08:23 +0530
4Subject: [PATCH] CVE-2022-3358
5
6Upstream-Status: Backport [https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=5485c56679d7c49b96e8fc8ca708b0b7e7c03c4b]
7CVE : CVE-2022-3358
8Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
9---
10 crypto/evp/digest.c | 4 +++-
11 crypto/evp/evp_enc.c | 6 ++++--
12 2 files changed, 7 insertions(+), 3 deletions(-)
13
14diff --git a/crypto/evp/digest.c b/crypto/evp/digest.c
15index de9a1dc..e6e03ea 100644
16--- a/crypto/evp/digest.c
17+++ b/crypto/evp/digest.c
18@@ -225,7 +225,9 @@ static int evp_md_init_internal(EVP_MD_CTX *ctx, const EVP_MD *type,
19 || tmpimpl != NULL
20 #endif
21 || (ctx->flags & EVP_MD_CTX_FLAG_NO_INIT) != 0
22- || type->origin == EVP_ORIG_METH) {
23+ || (type != NULL && type->origin == EVP_ORIG_METH)
24+ || (type == NULL && ctx->digest != NULL
25+ && ctx->digest->origin == EVP_ORIG_METH)) {
26 if (ctx->digest == ctx->fetched_digest)
27 ctx->digest = NULL;
28 EVP_MD_free(ctx->fetched_digest);
29diff --git a/crypto/evp/evp_enc.c b/crypto/evp/evp_enc.c
30index 19a07de..5df08bd 100644
31--- a/crypto/evp/evp_enc.c
32+++ b/crypto/evp/evp_enc.c
33@@ -131,7 +131,10 @@ static int evp_cipher_init_internal(EVP_CIPHER_CTX *ctx,
34 #if !defined(OPENSSL_NO_ENGINE) && !defined(FIPS_MODULE)
35 || tmpimpl != NULL
36 #endif
37- || impl != NULL) {
38+ || impl != NULL
39+ || (cipher != NULL && cipher->origin == EVP_ORIG_METH)
40+ || (cipher == NULL && ctx->cipher != NULL
41+ && ctx->cipher->origin == EVP_ORIG_METH)) {
42 if (ctx->cipher == ctx->fetched_cipher)
43 ctx->cipher = NULL;
44 EVP_CIPHER_free(ctx->fetched_cipher);
45@@ -147,7 +150,6 @@ static int evp_cipher_init_internal(EVP_CIPHER_CTX *ctx,
46 ctx->cipher_data = NULL;
47 }
48
49-
50 /* Start of non-legacy code below */
51
52 /* Ensure a context left lying around from last time is cleared */
53--
542.25.1
55