From ed06f5a74ba0cae059d8e0dc54dce1ecc84faa15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Veronika=20Hanul=C3=ADkov=C3=A1?= Date: Mon, 21 Jul 2025 13:23:56 +0200 Subject: [PATCH] Avoid dereferencing freed members when reading public keys Resolves: RHEL-96029 --- opensc-0.23.0-pkcs11-read-object.patch | 32 ++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 opensc-0.23.0-pkcs11-read-object.patch diff --git a/opensc-0.23.0-pkcs11-read-object.patch b/opensc-0.23.0-pkcs11-read-object.patch new file mode 100644 index 0000000..1e1c337 --- /dev/null +++ b/opensc-0.23.0-pkcs11-read-object.patch @@ -0,0 +1,32 @@ +From 63d4bd3d3900682c8d2511e259abec63ce904895 Mon Sep 17 00:00:00 2001 +From: Jakub Jelen +Date: Mon, 22 May 2023 14:58:40 +0200 +Subject: [PATCH] pkcs11-tool: Avoid dereferencing freed members when reading + public keys + +--- + src/tools/pkcs11-tool.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/tools/pkcs11-tool.c b/src/tools/pkcs11-tool.c +index 85c500e223..1e9bf4bff5 100644 +--- a/src/tools/pkcs11-tool.c ++++ b/src/tools/pkcs11-tool.c +@@ -5739,8 +5739,6 @@ static int read_object(CK_SESSION_HANDLE session) + util_fatal("cannot set OSSL_PARAM"); + } + OSSL_PARAM_BLD_free(bld); +- OSSL_PARAM_free(old); +- OSSL_PARAM_free(new); + if (success) + ASN1_STRING_free(os); + free(value); +@@ -5758,6 +5756,8 @@ static int read_object(CK_SESSION_HANDLE session) + EVP_PKEY_CTX_free(ctx); + util_fatal("cannot create EVP_PKEY"); + } ++ OSSL_PARAM_free(old); ++ OSSL_PARAM_free(new); + + #endif + if (!i2d_PUBKEY_bio(pout, pkey))