* [PATCH] X.509: Fix crash caused by NULL pointer
@ 2021-01-21 9:06 hansyao
0 siblings, 0 replies; 9+ messages in thread
From: hansyao @ 2021-01-21 9:06 UTC (permalink / raw)
To: yao_hang
Cc: Tianjia Zhang, Tobias Markus, David Howells,
Toke Høiland-Jørgensen, João Fonseca,
Jarkko Sakkinen, stable, Linus Torvalds
From: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
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")
Reported-by: Tobias Markus <tobias@markus-regensburg.de>
Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-and-tested-by: Toke Høiland-Jørgensen <toke@redhat.com>
Tested-by: João Fonseca <jpedrofonseca@ua.pt>
Acked-by: Jarkko Sakkinen <jarkko@kernel.org>
Cc: stable@vger.kernel.org # v5.10+
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
crypto/asymmetric_keys/public_key.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/crypto/asymmetric_keys/public_key.c b/crypto/asymmetric_keys/public_key.c
index 8892908ad58c..788a4ba1e2e7 100644
--- a/crypto/asymmetric_keys/public_key.c
+++ b/crypto/asymmetric_keys/public_key.c
@@ -356,7 +356,8 @@ int public_key_verify_signature(const struct public_key *pkey,
if (ret)
goto error_free_key;
- if (strcmp(sig->pkey_algo, "sm2") == 0 && sig->data_size) {
+ if (sig->pkey_algo && strcmp(sig->pkey_algo, "sm2") == 0 &&
+ sig->data_size) {
ret = cert_sig_digest_update(sig, tfm);
if (ret)
goto error_free_key;
--
2.29.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] X.509: Fix crash caused by NULL pointer
2021-01-22 12:19 Tan Zhongjun
@ 2021-01-22 13:03 ` Greg KH
0 siblings, 0 replies; 9+ messages in thread
From: Greg KH @ 2021-01-22 13:03 UTC (permalink / raw)
To: Tan Zhongjun
Cc: tanzhongjun, Tianjia Zhang, Tobias Markus, David Howells,
Toke Høiland-Jørgensen, João Fonseca,
Jarkko Sakkinen, stable, Linus Torvalds
On Fri, Jan 22, 2021 at 08:19:15PM +0800, Tan Zhongjun wrote:
> From: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
>
> 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")
> Reported-by: Tobias Markus <tobias@markus-regensburg.de>
> Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
> Signed-off-by: David Howells <dhowells@redhat.com>
> Reviewed-and-tested-by: Toke Høiland-Jørgensen <toke@redhat.com>
> Tested-by: João Fonseca <jpedrofonseca@ua.pt>
> Acked-by: Jarkko Sakkinen <jarkko@kernel.org>
> Cc: stable@vger.kernel.org # v5.10+
> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> Signed-off-by: george.tan <tanzhongjun@yulong.com>
> ---
> crypto/asymmetric_keys/public_key.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
Why send this to us again? Is it needed somewhere we have not already
applied it to?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] X.509: Fix crash caused by NULL pointer
@ 2021-01-22 12:24 Tan Zhongjun
0 siblings, 0 replies; 9+ messages in thread
From: Tan Zhongjun @ 2021-01-22 12:24 UTC (permalink / raw)
To: tanzhongjun
Cc: Tianjia Zhang, Tobias Markus, David Howells,
Toke Høiland-Jørgensen, João Fonseca,
Jarkko Sakkinen, stable, Linus Torvalds
From: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
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")
Reported-by: Tobias Markus <tobias@markus-regensburg.de>
Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-and-tested-by: Toke Høiland-Jørgensen <toke@redhat.com>
Tested-by: João Fonseca <jpedrofonseca@ua.pt>
Acked-by: Jarkko Sakkinen <jarkko@kernel.org>
Cc: stable@vger.kernel.org # v5.10+
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: george.tan <tanzhongjun@yulong.com>
---
crypto/asymmetric_keys/public_key.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/crypto/asymmetric_keys/public_key.c b/crypto/asymmetric_keys/public_key.c
index 8892908..788a4ba 100644
--- a/crypto/asymmetric_keys/public_key.c
+++ b/crypto/asymmetric_keys/public_key.c
@@ -356,7 +356,8 @@ int public_key_verify_signature(const struct public_key *pkey,
if (ret)
goto error_free_key;
- if (strcmp(sig->pkey_algo, "sm2") == 0 && sig->data_size) {
+ if (sig->pkey_algo && strcmp(sig->pkey_algo, "sm2") == 0 &&
+ sig->data_size) {
ret = cert_sig_digest_update(sig, tfm);
if (ret)
goto error_free_key;
--
1.9.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH] X.509: Fix crash caused by NULL pointer
@ 2021-01-22 12:19 Tan Zhongjun
2021-01-22 13:03 ` Greg KH
0 siblings, 1 reply; 9+ messages in thread
From: Tan Zhongjun @ 2021-01-22 12:19 UTC (permalink / raw)
To: tanzhongjun
Cc: Tianjia Zhang, Tobias Markus, David Howells,
Toke Høiland-Jørgensen, João Fonseca,
Jarkko Sakkinen, stable, Linus Torvalds
From: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
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")
Reported-by: Tobias Markus <tobias@markus-regensburg.de>
Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-and-tested-by: Toke Høiland-Jørgensen <toke@redhat.com>
Tested-by: João Fonseca <jpedrofonseca@ua.pt>
Acked-by: Jarkko Sakkinen <jarkko@kernel.org>
Cc: stable@vger.kernel.org # v5.10+
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: george.tan <tanzhongjun@yulong.com>
---
crypto/asymmetric_keys/public_key.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/crypto/asymmetric_keys/public_key.c b/crypto/asymmetric_keys/public_key.c
index 8892908..788a4ba 100644
--- a/crypto/asymmetric_keys/public_key.c
+++ b/crypto/asymmetric_keys/public_key.c
@@ -356,7 +356,8 @@ int public_key_verify_signature(const struct public_key *pkey,
if (ret)
goto error_free_key;
- if (strcmp(sig->pkey_algo, "sm2") == 0 && sig->data_size) {
+ if (sig->pkey_algo && strcmp(sig->pkey_algo, "sm2") == 0 &&
+ sig->data_size) {
ret = cert_sig_digest_update(sig, tfm);
if (ret)
goto error_free_key;
--
1.9.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH] X.509: Fix crash caused by NULL pointer
@ 2021-01-19 0:13 David Howells
0 siblings, 0 replies; 9+ messages in thread
From: David Howells @ 2021-01-19 0:13 UTC (permalink / raw)
To: torvalds
Cc: Tobias Markus, Tianjia Zhang, dhowells, keyrings, linux-crypto,
linux-security-module, stable, linux-kernel
From: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
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")
Reported-by: Tobias Markus <tobias@markus-regensburg.de>
Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-and-tested-by: Toke Høiland-Jørgensen <toke@redhat.com>
Tested-by: João Fonseca <jpedrofonseca@ua.pt>
Cc: stable@vger.kernel.org # v5.10+
---
crypto/asymmetric_keys/public_key.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/crypto/asymmetric_keys/public_key.c b/crypto/asymmetric_keys/public_key.c
index 8892908ad58c..788a4ba1e2e7 100644
--- a/crypto/asymmetric_keys/public_key.c
+++ b/crypto/asymmetric_keys/public_key.c
@@ -356,7 +356,8 @@ int public_key_verify_signature(const struct public_key *pkey,
if (ret)
goto error_free_key;
- if (strcmp(sig->pkey_algo, "sm2") == 0 && sig->data_size) {
+ if (sig->pkey_algo && strcmp(sig->pkey_algo, "sm2") == 0 &&
+ sig->data_size) {
ret = cert_sig_digest_update(sig, tfm);
if (ret)
goto error_free_key;
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH] X.509: Fix crash caused by NULL pointer
@ 2021-01-13 13:06 David Howells
0 siblings, 0 replies; 9+ messages in thread
From: David Howells @ 2021-01-13 13:06 UTC (permalink / raw)
To: torvalds
Cc: Tobias Markus, Tianjia Zhang, dhowells, keyrings, linux-crypto,
linux-security-module, stable, linux-kernel
From: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
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")
Reported-by: Tobias Markus <tobias@markus-regensburg.de>
Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-and-tested-by: Toke Høiland-Jørgensen <toke@redhat.com>
---
crypto/asymmetric_keys/public_key.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/crypto/asymmetric_keys/public_key.c b/crypto/asymmetric_keys/public_key.c
index 8892908ad58c..788a4ba1e2e7 100644
--- a/crypto/asymmetric_keys/public_key.c
+++ b/crypto/asymmetric_keys/public_key.c
@@ -356,7 +356,8 @@ int public_key_verify_signature(const struct public_key *pkey,
if (ret)
goto error_free_key;
- if (strcmp(sig->pkey_algo, "sm2") == 0 && sig->data_size) {
+ if (sig->pkey_algo && strcmp(sig->pkey_algo, "sm2") == 0 &&
+ sig->data_size) {
ret = cert_sig_digest_update(sig, tfm);
if (ret)
goto error_free_key;
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] X.509: Fix crash caused by NULL pointer
2021-01-07 10:58 ` David Howells
@ 2021-01-13 3:02 ` Tianjia Zhang
0 siblings, 0 replies; 9+ messages in thread
From: Tianjia Zhang @ 2021-01-13 3:02 UTC (permalink / raw)
To: David Howells
Cc: Herbert Xu, David S. Miller, Gilad Ben-Yossef, Tobias Markus,
Tee Hao Wei, keyrings, linux-crypto, linux-kernel, stable
On 1/7/21 6:58 PM, David Howells wrote:
> Tianjia Zhang <tianjia.zhang@linux.alibaba.com> 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@vger.kernel.org # v5.10+
>> Reported-by: Tobias Markus <tobias@markus-regensburg.de>
>> Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
>
> 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
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] X.509: Fix crash caused by NULL pointer
2021-01-07 9:28 Tianjia Zhang
@ 2021-01-07 10:58 ` David Howells
2021-01-13 3:02 ` Tianjia Zhang
0 siblings, 1 reply; 9+ messages in thread
From: David Howells @ 2021-01-07 10:58 UTC (permalink / raw)
To: Tianjia Zhang
Cc: dhowells, Herbert Xu, David S. Miller, Gilad Ben-Yossef,
Tobias Markus, Tee Hao Wei, keyrings, linux-crypto, linux-kernel,
stable
Tianjia Zhang <tianjia.zhang@linux.alibaba.com> 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@vger.kernel.org # v5.10+
> Reported-by: Tobias Markus <tobias@markus-regensburg.de>
> Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
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
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] X.509: Fix crash caused by NULL pointer
@ 2021-01-07 9:28 Tianjia Zhang
2021-01-07 10:58 ` David Howells
0 siblings, 1 reply; 9+ messages in thread
From: Tianjia Zhang @ 2021-01-07 9:28 UTC (permalink / raw)
To: David Howells, Herbert Xu, David S. Miller, Gilad Ben-Yossef,
Tobias Markus, Tee Hao Wei, keyrings, linux-crypto, linux-kernel,
stable
Cc: Tianjia Zhang
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 <tobias@markus-regensburg.de>
Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
---
crypto/asymmetric_keys/public_key.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/crypto/asymmetric_keys/public_key.c b/crypto/asymmetric_keys/public_key.c
index 8892908ad58c..788a4ba1e2e7 100644
--- a/crypto/asymmetric_keys/public_key.c
+++ b/crypto/asymmetric_keys/public_key.c
@@ -356,7 +356,8 @@ int public_key_verify_signature(const struct public_key *pkey,
if (ret)
goto error_free_key;
- if (strcmp(sig->pkey_algo, "sm2") == 0 && sig->data_size) {
+ if (sig->pkey_algo && strcmp(sig->pkey_algo, "sm2") == 0 &&
+ sig->data_size) {
ret = cert_sig_digest_update(sig, tfm);
if (ret)
goto error_free_key;
--
2.19.1.3.ge56e4f7
^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2021-01-22 13:17 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-21 9:06 [PATCH] X.509: Fix crash caused by NULL pointer hansyao
-- strict thread matches above, loose matches on Subject: below --
2021-01-22 12:24 Tan Zhongjun
2021-01-22 12:19 Tan Zhongjun
2021-01-22 13:03 ` Greg KH
2021-01-19 0:13 David Howells
2021-01-13 13:06 David Howells
2021-01-07 9:28 Tianjia Zhang
2021-01-07 10:58 ` David Howells
2021-01-13 3:02 ` Tianjia Zhang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).