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

From: David Howells
Date: Thu Jan 07 2021 - 05:59:39 EST


Tianjia Zhang <tianjia.zhang@xxxxxxxxxxxxxxxxx> wrote:

> 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@xxxxxxxxxxxxxxx # v5.10+
> Reported-by: Tobias Markus <tobias@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Tianjia Zhang <tianjia.zhang@xxxxxxxxxxxxxxxxx>

Looks reasonable:

Acked-by: David Howells <dhowells@xxxxxxxxxx>

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