aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelen <jjelen@redhat.com>2018-11-26 15:27:53 +0100
committerAndreas Schneider <asn@cryptomilk.org>2018-11-30 18:57:39 +0100
commit5ffe695c3cc624bde2fc88ecb72483ada2b4aa06 (patch)
tree57c8c9bcf3d5275632d9747387dc9b3104c039b8
parent230a43728802dcbf3d8a20adbf714ea896bd12dc (diff)
downloadlibssh-5ffe695c3cc624bde2fc88ecb72483ada2b4aa06.tar.gz
libssh-5ffe695c3cc624bde2fc88ecb72483ada2b4aa06.tar.xz
libssh-5ffe695c3cc624bde2fc88ecb72483ada2b4aa06.zip
pki: Sanity-check signature matches base key type
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> (cherry picked from commit c79c33e22431065e2ec2f8e5dfcbada9d849cfe8)
-rw-r--r--src/pki.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/pki.c b/src/pki.c
index 05e99399..19c77339 100644
--- a/src/pki.c
+++ b/src/pki.c
@@ -1928,6 +1928,12 @@ int ssh_pki_signature_verify(ssh_session session,
"Going to verify a %s type signature",
sig->type_c);
+ if (key->type != sig->type) {
+ SSH_LOG(SSH_LOG_WARN,
+ "Can not verify %s signature with %s key",
+ sig->type_c, key->type_c);
+ return SSH_ERROR;
+ }
if (key->type == SSH_KEYTYPE_ECDSA) {
#if HAVE_ECC