summaryrefslogtreecommitdiff
path: root/dev-libs/openssl/files/openssl-3.0.7-x509-CVE-2022-3996.patch
diff options
context:
space:
mode:
authorAlex Xu (Hello71) <alex_y_xu@yahoo.ca>2023-01-02 16:43:12 -0500
committerAlex Xu (Hello71) <alex_y_xu@yahoo.ca>2023-01-02 16:43:12 -0500
commit50640194fe0aaaffde3984f936bf0ffea6ec1776 (patch)
treefbe766f6ec3f0fa126a64c36d2a6141fad311cdf /dev-libs/openssl/files/openssl-3.0.7-x509-CVE-2022-3996.patch
parent64178fc1ec9bff272cee1c291dfe0069e7b69999 (diff)
downloadgentoo-overlay-50640194fe0aaaffde3984f936bf0ffea6ec1776.tar.xz
gentoo-overlay-50640194fe0aaaffde3984f936bf0ffea6ec1776.zip
dev-libs/openssl: sync
Diffstat (limited to 'dev-libs/openssl/files/openssl-3.0.7-x509-CVE-2022-3996.patch')
-rw-r--r--dev-libs/openssl/files/openssl-3.0.7-x509-CVE-2022-3996.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/dev-libs/openssl/files/openssl-3.0.7-x509-CVE-2022-3996.patch b/dev-libs/openssl/files/openssl-3.0.7-x509-CVE-2022-3996.patch
new file mode 100644
index 0000000..079a4f5
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.0.7-x509-CVE-2022-3996.patch
@@ -0,0 +1,35 @@
+https://bugs.gentoo.org/885797
+
+https://github.com/openssl/openssl/commit/7725e7bfe6f2ce8146b6552b44e0d226be7638e7
+https://github.com/openssl/openssl/issues/19643
+
+From 7725e7bfe6f2ce8146b6552b44e0d226be7638e7 Mon Sep 17 00:00:00 2001
+From: Pauli <pauli@openssl.org>
+Date: Fri, 11 Nov 2022 09:40:19 +1100
+Subject: [PATCH] x509: fix double locking problem
+
+This reverts commit 9aa4be691f5c73eb3c68606d824c104550c053f7 and removed the
+redundant flag setting.
+
+Fixes #19643
+
+Fixes LOW CVE-2022-3996
+
+Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
+Reviewed-by: Tomas Mraz <tomas@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/19652)
+
+(cherry picked from commit 4d0340a6d2f327700a059f0b8f954d6160f8eef5)
+--- a/crypto/x509/pcy_map.c
++++ b/crypto/x509/pcy_map.c
+@@ -73,10 +73,6 @@ int ossl_policy_cache_set_mapping(X509 *x, POLICY_MAPPINGS *maps)
+
+ ret = 1;
+ bad_mapping:
+- if (ret == -1 && CRYPTO_THREAD_write_lock(x->lock)) {
+- x->ex_flags |= EXFLAG_INVALID_POLICY;
+- CRYPTO_THREAD_unlock(x->lock);
+- }
+ sk_POLICY_MAPPING_pop_free(maps, POLICY_MAPPING_free);
+ return ret;
+