Bug 2161694

Summary: Setting propquery doesn't work for some operations in FIPS mode
Product: Red Hat Enterprise Linux 9 Reporter: Alicja Kario <hkario>
Component: opensslAssignee: Clemens Lang <cllang>
Status: CLOSED MIGRATED QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: low Docs Contact:
Priority: medium    
Version: 9.0CC: cllang, dbelyavs, ssorce
Target Milestone: rcKeywords: MigratedToJIRA, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-09-08 17:40:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2094956    
Bug Blocks:    

Description Alicja Kario 2023-01-17 16:08:23 UTC
Description of problem:
When in FIPS mode, using the -propquery '?fips!=yes' to disable FIPS requirements for the command execution doesn't work for some commands.

Version-Release number of selected component (if applicable):
openssl-3.0.7-2.el9.x86_64

How reproducible:
always

Steps to Reproduce:
1. Set the system up in fips mode
2. try any of the following operations:
* openssl pkeyutl -propquery '?fips!=yes' -kdf scrypt -out kdf -kdflen 16 -pkeyopt_passin pass:pass:SomeLongishPa55word -pkeyopt hexsalt:aabbcc -pkeyopt N:16384 -pkeyopt r:8 -pkeyopt p:1
* openssl mac -propquery '?fips!=yes' -digest MD5 -macopt hexkey:000102030405060708090A0B0C0D0E0F10111213 -in msg.bin HMAC
* openssl mac -propquery '?fips!=yes' -cipher DES-EDE3-CBC -macopt hexkey:000102030405060708090a0b0c0d0e0f1011121314151617 -in msg.bin CMAC
* openssl ocsp -propquery '?fips!=yes' -rmd RIPEMD160 -index ca/index.txt -rsigner ca.crt -rkey ca.key -CA ca.crt -reqin ocsp.req -respout ocsp.resp
* openssl passwd -propquery '?fips!=yes' SomeLongishPa55word
* openssl pkcs12 -propquery '?fips!=yes' -export -out root.p12 -passout pass:SomeLongishPa55word -inkey root.key -in root.crt -caname root 
* openssl pkcs8 -propquery '?fips!=yes' -in rsa.key -out rsa-3des.pem -topk8 -passout pass:SomeLongishPa55word -v2 des3
* openssl genrsa -propquery '?fips!=yes' -out rsa.key -passout pass:SomeLongishPa55word -camellia256 2048
* openssl rsa -propquery '?fips!=yes' -in rsa.key -out rsa.enc -des3 -passout pass:SomeLongishPa55word
* openssl rsautl -propquery '?fips!=yes' -encrypt -pubin -inkey rsa.pub -in message.txt -out message.enc
  (with pkcs#1 encrypted message)
* openssl cms -propquery '?fips!=yes' -sign -in message.txt -out message.eml -md sha256 -signer client/cert.pem -keyopt rsa_padding_mode:pss -keyopt rsa_mgf1_md:md5 -inkey client/key.pem
* openssl spkac -propquery '?fips!=yes' -key key.pem -out spkac.pem -digest md5

Actual results:
Some kind of error, usually along the lines of
40EC874B8B7F0000:error:0308010C:digital envelope routines:inner_evp_generic_fetch:unsupported:crypto/evp/evp_fetch.c:373:Global default library context, Algorithm (DES-EDE3-CBC : 27), Properties ()

Expected results:
Operations successful, as if executed on a system not running in FIPS mode.

Additional info:
Some of the related issues are handled in bug 2160756, bug 2160797, and bug 2160837

Comment 1 Simo Sorce 2023-04-28 12:36:00 UTC
Add openssl rand there: https://github.com/openssl/openssl/issues/20850

Comment 2 Dmitry Belyavskiy 2023-06-02 14:59:00 UTC
Is it an upstream bug really?

Comment 3 Clemens Lang 2023-06-02 15:05:48 UTC
Yes, this is an upstream bug. I did contribute the last round of fixes for this type of issue, though, so we may want to consider also fixing those.

Comment 4 RHEL Program Management 2023-09-08 17:29:59 UTC
Issue migration from Bugzilla to Jira is in process at this time. This will be the last message in Jira copied from the Bugzilla bug.

Comment 5 RHEL Program Management 2023-09-08 17:40:48 UTC
This BZ has been automatically migrated to the issues.redhat.com Red Hat Issue Tracker. All future work related to this report will be managed there.

Due to differences in account names between systems, some fields were not replicated.  Be sure to add yourself to Jira issue's "Watchers" field to continue receiving updates and add others to the "Need Info From" field to continue requesting information.

To find the migrated issue, look in the "Links" section for a direct link to the new issue location. The issue key will have an icon of 2 footprints next to it, and begin with "RHEL-" followed by an integer.  You can also find this issue by visiting https://issues.redhat.com/issues/?jql= and searching the "Bugzilla Bug" field for this BZ's number, e.g. a search like:

"Bugzilla Bug" = 1234567

In the event you have trouble locating or viewing this issue, you can file an issue by sending mail to rh-issues. You can also visit https://access.redhat.com/articles/7032570 for general account information.