This bug has been migrated to another issue tracking site. It has been closed here and may no longer be being monitored.

If you would like to get updates for this issue, or to participate in it, you may do so at Red Hat Issue Tracker .
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 2137632 - In FIPS mode, NSS DH_NewKey() fails because RNG_RNGInit() was never called
Summary: In FIPS mode, NSS DH_NewKey() fails because RNG_RNGInit() was never called
Keywords:
Status: CLOSED MIGRATED
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: nss
Version: 8.5
Hardware: ppc64le
OS: Linux
medium
high
Target Milestone: rc
: ---
Assignee: Bob Relyea
QA Contact: BaseOS QE Security Team
URL:
Whiteboard:
Depends On:
Blocks: 2142634
TreeView+ depends on / blocked
 
Reported: 2022-10-25 17:16 UTC by Clemens Lang
Modified: 2023-09-19 20:53 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 2142634 (view as bug list)
Environment:
Last Closed: 2023-09-19 20:53:39 UTC
Type: Bug
Target Upstream Version:
Embargoed:
pm-rhel: mirror+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker CRYPTO-8648 0 None None None 2022-10-26 16:16:57 UTC
Red Hat Issue Tracker   RHEL-5263 0 None Migrated None 2023-09-19 20:50:28 UTC
Red Hat Issue Tracker RHELPLAN-137580 0 None None None 2022-10-25 17:17:47 UTC

Description Clemens Lang 2022-10-25 17:16:15 UTC
Description of problem:
On ppc64le in FIPS mode, DH_NewKey() fails when used by ACVP tests. This happens because the random number generator is not initialized, which is usually performed by sftk_startup_tests in lib/softoken/fipstest.c, which calls RNG_RNGInit().

On x86_64, sftk_startup_tests is automatically run when the library is loaded, because its declaration is marked with __attribute__((constructor)) (see https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Common-Function-Attributes.html#index-constructor-function-attribute).

The code only does this if NSS_NO_INIT_SUPPORT is not defined. However, lib/softoken/Makefile contains this code:

    ifeq ($(OS_TARGET),Linux)
    ifeq ($(CPU_ARCH),ppc)
    ifdef USE_64
        DEFINES += -DNSS_NO_INIT_SUPPORT
    endif # USE_64
    endif # ppc
    endif # Linux

git blame suggests that this was added by Bob 6 years ago, and is still present in upstream tip. I am not sure why, the commit message doesn't say:

    Bug 1181814 - Pick up FIPS-140 certification work done by Red Hat, r=kaie, emaldona
    Includes modifications submitted by kaie and emaldona, r=rrelyea

I did verify that __attribute__((constructor)) works as expected on a Power9 ppc64le machine from Beaker.

I am not sure if this happens because ACVP parser does not correctly initialize NSS (which we could fix in ACVP parser), or whether this is a bug in NSS. If it is a bug in NSS, we would also have to address it in 9.0, which probably contains the same code.


Version-Release number of selected component (if applicable):
nss-3.67.0-7.el8_5

How reproducible:
Run ACVP tests with a test vector that generates a DH key.

Actual results:
DH key generation fails because the RNG is uninitialized

Expected results:
DH key generation succeeds.

Comment 4 RHEL Program Management 2023-09-19 20:48:34 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-19 20:53:39 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.


Note You need to log in before you can comment on or make changes to this bug.