Bug 1971533
Summary: | MD5 HMAC computation should not cause glib to segfault in FIPS mode | |||
---|---|---|---|---|
Product: | Red Hat Enterprise Linux 8 | Reporter: | Milan Crha <mcrha> | |
Component: | glib2 | Assignee: | Michael Catanzaro <mcatanza> | |
Status: | CLOSED ERRATA | QA Contact: | Tomas Pelka <tpelka> | |
Severity: | unspecified | Docs Contact: | ||
Priority: | unspecified | |||
Version: | 8.3 | CC: | ssorce, tpelka | |
Target Milestone: | beta | Keywords: | Triaged | |
Target Release: | --- | Flags: | pm-rhel:
mirror+
|
|
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | glib2-2.56.4-156.el8 | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1971823 (view as bug list) | Environment: | ||
Last Closed: | 2021-11-09 19:35:29 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: | ||||
Bug Blocks: | 1938011, 1971823 |
Description
Milan Crha
2021-06-14 09:49:11 UTC
(In reply to Milan Crha from comment #0) > The current upstream version of the glib2 does not use GnuTLS anymore, but > the one in RHEL 8 does use it. It would be good to not use GnuTLS for MD5 > checkum computation. Our downstream glib uses GnuTLS specifically because it's required for FIPS compliance. Upstream has never used GnuTLS. We have to either get our patch upstream somehow, or carry it downstream forever. See bug #1630260. That said, GLib should not crash like this. It should crash with g_error() instead. I can refresh the patch to make that happen. As for NTLMv2, let's discuss that in bug #1938011. BTW GLib should be able to do MD5 checksums, via GChecksum with G_CHECKSUM_MD5, just fine regardless. Your code isn't just doing a checksum, it's doing HMAC, using GHmac. The HMAC is what triggers the RHEL crypto policy. So to be clear: * GChecksum: expected to succeed even if MD5 is disabled in system crypto policy. MD5 checksums should still work. * GHmac: expected to fail if MD5 is disabled in system crypto policy. Software that needs this is required to break. At least, I think that's the desired behavior. Aha, it's a downstream patch. I thought it had been changed upstream long ago, because the RHEL 8.3 glib2 version is rather old. I didn't search for the custom/downstream patches at all. I added a test for this to glib's testsuite, so if our CI runs that, then it now has test coverage. Daiki found an error in my code. Moving back to ASSIGNED so I can fix this. I accidentally built revision -156 instead of -15. It's annoying, but since it's higher than -15, I think we can live with it. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: glib2 security and bug fix update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2021:4385 |