pkeyutl ecdsa signature with sha1 shouldn't work by default
Resolves: RHEL-89861
This commit is contained in:
		
							parent
							
								
									6af659130e
								
							
						
					
					
						commit
						1d113921da
					
				
							
								
								
									
										58
									
								
								0052-Fixup-forbid-SHA1.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								0052-Fixup-forbid-SHA1.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,58 @@
 | 
				
			|||||||
 | 
					From a6b4af9d39e07457189147bd50fe6ee3e8e88b6d Mon Sep 17 00:00:00 2001
 | 
				
			||||||
 | 
					From: Dmitry Belyavskiy <beldmit@gmail.com>
 | 
				
			||||||
 | 
					Date: Mon, 12 May 2025 14:28:00 +0200
 | 
				
			||||||
 | 
					Subject: [PATCH 52/54] Fixup - forbid SHA1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					 crypto/context.c                                | 6 ------
 | 
				
			||||||
 | 
					 providers/implementations/signature/ecdsa_sig.c | 5 ++---
 | 
				
			||||||
 | 
					 2 files changed, 2 insertions(+), 9 deletions(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff --git a/crypto/context.c b/crypto/context.c
 | 
				
			||||||
 | 
					index 6859146510..323615e300 100644
 | 
				
			||||||
 | 
					--- a/crypto/context.c
 | 
				
			||||||
 | 
					+++ b/crypto/context.c
 | 
				
			||||||
 | 
					@@ -133,9 +133,6 @@ static void ossl_ctx_legacy_digest_signatures_free(void *vldsigs)
 | 
				
			||||||
 | 
					 static void *ossl_ctx_legacy_digest_signatures_new(OSSL_LIB_CTX *ctx)
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					     OSSL_LEGACY_DIGEST_SIGNATURES* ldsigs = OPENSSL_zalloc(sizeof(OSSL_LEGACY_DIGEST_SIGNATURES));
 | 
				
			||||||
 | 
					-    /* Warning: This patch differs from the same patch in CentOS and RHEL here,
 | 
				
			||||||
 | 
					-     * because the default on Fedora is to allow SHA-1 and support disabling
 | 
				
			||||||
 | 
					-     * it, while CentOS/RHEL disable it by default and allow enabling it. */
 | 
				
			||||||
 | 
					     ldsigs->allowed = 0;
 | 
				
			||||||
 | 
					     return ldsigs;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					@@ -770,9 +767,6 @@ int ossl_ctx_legacy_digest_signatures_allowed(OSSL_LIB_CTX *libctx, int loadconf
 | 
				
			||||||
 | 
					          return 1;
 | 
				
			||||||
 | 
					  #endif
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-    /* Warning: This patch differs from the same patch in CentOS and RHEL here,
 | 
				
			||||||
 | 
					-     * because the default on Fedora is to allow SHA-1 and support disabling
 | 
				
			||||||
 | 
					-     * it, while CentOS/RHEL disable it by default and allow enabling it. */
 | 
				
			||||||
 | 
					     return ldsigs != NULL ? ldsigs->allowed : 0;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					diff --git a/providers/implementations/signature/ecdsa_sig.c b/providers/implementations/signature/ecdsa_sig.c
 | 
				
			||||||
 | 
					index 34fb3aa56e..4d7c25728a 100644
 | 
				
			||||||
 | 
					--- a/providers/implementations/signature/ecdsa_sig.c
 | 
				
			||||||
 | 
					+++ b/providers/implementations/signature/ecdsa_sig.c
 | 
				
			||||||
 | 
					@@ -198,14 +198,13 @@ static int ecdsa_setup_md(PROV_ECDSA_CTX *ctx,
 | 
				
			||||||
 | 
					     }
 | 
				
			||||||
 | 
					     md_nid = ossl_digest_get_approved_nid(md);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-#ifdef FIPS_MODULE
 | 
				
			||||||
 | 
					     md_nid = rh_digest_signatures_allowed(ctx->libctx, md_nid);
 | 
				
			||||||
 | 
					-    if (md_nid <= 0) {
 | 
				
			||||||
 | 
					+    /* KECCAK-256 is explicitly allowed for ECDSA despite it doesn't have a NID*/
 | 
				
			||||||
 | 
					+    if (md_nid <= 0 && !(EVP_MD_is_a(md, "KECCAK-256"))) {
 | 
				
			||||||
 | 
					         ERR_raise_data(ERR_LIB_PROV, PROV_R_DIGEST_NOT_ALLOWED,
 | 
				
			||||||
 | 
					                        "digest=%s", mdname);
 | 
				
			||||||
 | 
					         goto err;
 | 
				
			||||||
 | 
					     }
 | 
				
			||||||
 | 
					-#endif
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					     /* XOF digests don't work */
 | 
				
			||||||
 | 
					     if (EVP_MD_xof(md)) {
 | 
				
			||||||
 | 
					-- 
 | 
				
			||||||
 | 
					2.49.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -90,6 +90,7 @@ Patch0048: 0048-Current-Rebase-status.patch
 | 
				
			|||||||
Patch0049: 0049-FIPS-KDF-key-lenght-errors.patch
 | 
					Patch0049: 0049-FIPS-KDF-key-lenght-errors.patch
 | 
				
			||||||
Patch0050: 0050-FIPS-fix-disallowed-digests-tests.patch
 | 
					Patch0050: 0050-FIPS-fix-disallowed-digests-tests.patch
 | 
				
			||||||
Patch0051: 0051-Make-openssl-speed-run-in-FIPS-mode.patch
 | 
					Patch0051: 0051-Make-openssl-speed-run-in-FIPS-mode.patch
 | 
				
			||||||
 | 
					Patch0052: 0052-Fixup-forbid-SHA1.patch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#The patches that are different for RHEL9 and 10 start here
 | 
					#The patches that are different for RHEL9 and 10 start here
 | 
				
			||||||
Patch0100: 0100-RHEL9-Allow-SHA1-in-seclevel-2-if-rh-allow-sha1-signatures.patch
 | 
					Patch0100: 0100-RHEL9-Allow-SHA1-in-seclevel-2-if-rh-allow-sha1-signatures.patch
 | 
				
			||||||
@ -433,6 +434,8 @@ ln -s /etc/crypto-policies/back-ends/openssl_fips.config $RPM_BUILD_ROOT%{_sysco
 | 
				
			|||||||
  Resolves: RHEL-88912
 | 
					  Resolves: RHEL-88912
 | 
				
			||||||
- Fix `openssl speed` running in FIPS mode
 | 
					- Fix `openssl speed` running in FIPS mode
 | 
				
			||||||
  Resolves: RHEL-89860
 | 
					  Resolves: RHEL-89860
 | 
				
			||||||
 | 
					- pkeyutl ecdsa signature with sha1 shouldn't work by default
 | 
				
			||||||
 | 
					  Resolves: RHEL-89861
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Wed Apr 16 2025 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1:3.5.0-1
 | 
					* Wed Apr 16 2025 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1:3.5.0-1
 | 
				
			||||||
- Rebasing OpenSSL to 3.5
 | 
					- Rebasing OpenSSL to 3.5
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user