Description of problem: The kernel uses temporary values for its integrity test in FIPS mode. It is a FIPS 140-3 requirement to zeroize these after use, but they are currently not. To fix this, replace all instances of kfree(key) in crypto/asymmetric_keys/public_key.c with kfree_sensitive(key). Version-Release number of selected component (if applicable): kernel-5.14.0-340.el9 How reproducible: Manunally inspect crypto/asymmetric_keys/public_key.c Actual results: kfree(key) is used Expected results: kfree_sensitive(key) is used Additional info: Please also backport this change to 9.2.z. No further backport is required at this time.
Created attachment 1976367 [details] Proposed patch
Clemens, could you please submit this patch upstream? It looks good enough as it stands. Thanks!
It'll be a while before I can get to doing that, since I've never sent a patch upstream for the kernel, and I don't have a lot of spare cycles at the moment.
(In reply to Herbert Xu from comment #2) > Clemens, could you please submit this patch upstream? It looks good enough as it stands. Thanks! I'll handle this (upstream submission and a RHEL work), thanks Clemens for the patch, thanks Herbert for a review.
Thanks Vladis. As you noted, it seems that this patch is already queued up upstream so we simply need to wait: https://patchwork.kernel.org/project/linux-crypto/patch/20230717125509.105015-1-mngyadam@amazon.com/