From 9ab47eeb229761173ce5da5b4976d9ea9a7b75e4 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Tue, 5 Feb 2002 12:19:52 +1100 Subject: - markus@cvs.openbsd.org 2002/01/31 13:35:11 [kexdh.c kexgex.c] cross check announced key type and type from key blob --- ChangeLog | 5 ++++- kexdh.c | 5 +++-- kexgex.c | 5 +++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 52d0eb70..4c68665a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -48,6 +48,9 @@ - markus@cvs.openbsd.org 2002/01/29 23:50:37 [scp.1 ssh.1] mention exit status; ok stevesk@ + - markus@cvs.openbsd.org 2002/01/31 13:35:11 + [kexdh.c kexgex.c] + cross check announced key type and type from key blob 20020130 - (djm) Delay PRNG seeding until we need it in ssh-keygen, from markus@ @@ -7450,4 +7453,4 @@ - Wrote replacements for strlcpy and mkdtemp - Released 1.0pre1 -$Id: ChangeLog,v 1.1812 2002/02/05 01:16:15 djm Exp $ +$Id: ChangeLog,v 1.1813 2002/02/05 01:19:52 djm Exp $ diff --git a/kexdh.c b/kexdh.c index 60d13a8b..f87d5295 100644 --- a/kexdh.c +++ b/kexdh.c @@ -23,7 +23,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: kexdh.c,v 1.13 2002/01/25 22:07:40 markus Exp $"); +RCSID("$OpenBSD: kexdh.c,v 1.14 2002/01/31 13:35:11 markus Exp $"); #include #include @@ -121,7 +121,8 @@ kexdh_client(Kex *kex) server_host_key = key_from_blob(server_host_key_blob, sbloblen); if (server_host_key == NULL) fatal("cannot decode server_host_key_blob"); - + if (server_host_key->type != kex->hostkey_type) + fatal("type mismatch for decoded server_host_key_blob"); if (kex->verify_host_key == NULL) fatal("cannot verify server_host_key"); if (kex->verify_host_key(server_host_key) == -1) diff --git a/kexgex.c b/kexgex.c index b50a7114..dc2fa672 100644 --- a/kexgex.c +++ b/kexgex.c @@ -24,7 +24,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: kexgex.c,v 1.16 2002/01/25 22:07:40 markus Exp $"); +RCSID("$OpenBSD: kexgex.c,v 1.17 2002/01/31 13:35:11 markus Exp $"); #include @@ -176,7 +176,8 @@ kexgex_client(Kex *kex) server_host_key = key_from_blob(server_host_key_blob, sbloblen); if (server_host_key == NULL) fatal("cannot decode server_host_key_blob"); - + if (server_host_key->type != kex->hostkey_type) + fatal("type mismatch for decoded server_host_key_blob"); if (kex->verify_host_key == NULL) fatal("cannot verify server_host_key"); if (kex->verify_host_key(server_host_key) == -1) -- cgit v1.2.3