File openssl-CVE-2023-0217-2of4.patch of Package openssl-3.27638

commit 8386d224589c66d8471a5986743824eff8e447f2
Author: Tomas Mraz <tomas@openssl.org>
Date:   Fri Jan 13 17:57:59 2023 +0100

    Prevent creating DSA and DH keys without parameters through import

Index: openssl-3.0.1/providers/implementations/keymgmt/dh_kmgmt.c
===================================================================
--- openssl-3.0.1.orig/providers/implementations/keymgmt/dh_kmgmt.c
+++ openssl-3.0.1/providers/implementations/keymgmt/dh_kmgmt.c
@@ -198,8 +198,8 @@ static int dh_import(void *keydata, int
     if ((selection & DH_POSSIBLE_SELECTIONS) == 0)
         return 0;
 
-    if ((selection & OSSL_KEYMGMT_SELECT_ALL_PARAMETERS) != 0)
-        ok = ok && ossl_dh_params_fromdata(dh, params);
+    /* a key without parameters is meaningless */
+    ok = ok && ossl_dh_params_fromdata(dh, params);
 
     if ((selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0)
         ok = ok && ossl_dh_key_fromdata(dh, params);
Index: openssl-3.0.1/providers/implementations/keymgmt/dsa_kmgmt.c
===================================================================
--- openssl-3.0.1.orig/providers/implementations/keymgmt/dsa_kmgmt.c
+++ openssl-3.0.1/providers/implementations/keymgmt/dsa_kmgmt.c
@@ -198,8 +198,9 @@ static int dsa_import(void *keydata, int
     if ((selection & DSA_POSSIBLE_SELECTIONS) == 0)
         return 0;
 
-    if ((selection & OSSL_KEYMGMT_SELECT_ALL_PARAMETERS) != 0)
-        ok = ok && ossl_dsa_ffc_params_fromdata(dsa, params);
+    /* a key without parameters is meaningless */
+    ok = ok && ossl_dsa_ffc_params_fromdata(dsa, params);
+
     if ((selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0)
         ok = ok && ossl_dsa_key_fromdata(dsa, params);
 
openSUSE Build Service is sponsored by