openssl/Prevent-use-after-free-of-global_engine_lock.patch

36 lines
1.0 KiB
Diff

From e512efe0894481679a5d3c57d10bf4ea97046c2a Mon Sep 17 00:00:00 2001
From: Tomas Mraz <tmraz@fedoraproject.org>
Date: Thu, 21 May 2020 13:16:57 +0200
Subject: [PATCH 064/217] Prevent use after free of global_engine_lock
If buggy application calls engine functions after cleanup of engines
already happened the global_engine_lock will be used although
already freed.
See for example:
https://bugzilla.redhat.com/show_bug.cgi?id=1831086
Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
(Merged from https://github.com/openssl/openssl/pull/11896)
(cherry picked from commit e12813d0d31f4f7be2ccc592d382ef3e94bdb842)
---
crypto/engine/eng_lib.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/crypto/engine/eng_lib.c b/crypto/engine/eng_lib.c
index b851ff6..dd87eba 100644
--- a/crypto/engine/eng_lib.c
+++ b/crypto/engine/eng_lib.c
@@ -171,6 +171,7 @@ void engine_cleanup_int(void)
cleanup_stack = NULL;
}
CRYPTO_THREAD_lock_free(global_engine_lock);
+ global_engine_lock = NULL;
}
/* Now the "ex_data" support */
--
1.8.3.1