Thread (3 messages) 3 messages, 2 authors, 2021-01-13

Re: [PATCH] X.509: Fix crash caused by NULL pointer

flat view

From: Tianjia Zhang <hidden>
Date: 2021-01-13 03:03:47
Also in: keyrings, linux-crypto, lkml


On 1/7/21 6:58 PM, David Howells wrote:
Tianjia Zhang [off-list ref] wrote:
quoted
On the following call path, `sig->pkey_algo` is not assigned
in asymmetric_key_verify_signature(), which causes runtime
crash in public_key_verify_signature().

   keyctl_pkey_verify
     asymmetric_key_verify_signature
       verify_signature
         public_key_verify_signature

This patch simply check this situation and fixes the crash
caused by NULL pointer.

Fixes: 215525639631 ("X.509: support OSCCA SM2-with-SM3 certificate verification")
Cc: stable@vger.kernel.org # v5.10+
Reported-by: Tobias Markus <redacted>
Signed-off-by: Tianjia Zhang <redacted>
Looks reasonable:

Acked-by: David Howells <dhowells@redhat.com>

I wonder, though, if cert_sig_digest_update() should be obtained by some sort
of function pointer.  It doesn't really seem to belong in this file.  But this
is a separate issue.

David
Yes, this is indeed the logic of the SM2 module. I have tried to dynamically load and obtain the pointer of this function through `request_module` before, but this method still does not seem very suitable. Here are some unfinished codes I tried before:

https://github.com/uudiin/linux/commit/55bca48c6282415d94c53a7692622d544da99342

It would be great if you have some good experience to share with me, I will continue to try to optimize this code.

Best regards,
Tianjia
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help