From d596b1d30dc158915a3979fa409d21ff2465b6ee Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Tue, 4 Feb 2020 09:58:04 +0000 Subject: upstream: require FIDO application strings to start with "ssh:"; ok markus@ OpenBSD-Commit-ID: 94e9c1c066d42b76f035a3d58250a32b14000afb --- ssh-keygen.1 | 6 ++++-- ssh-keygen.c | 6 +++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ssh-keygen.1 b/ssh-keygen.1 index f0e76aab1..51aee21aa 100644 --- a/ssh-keygen.1 +++ b/ssh-keygen.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ssh-keygen.1,v 1.199 2020/02/03 08:15:37 jmc Exp $ +.\" $OpenBSD: ssh-keygen.1,v 1.200 2020/02/04 09:58:04 djm Exp $ .\" .\" Author: Tatu Ylonen .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -35,7 +35,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: February 3 2020 $ +.Dd $Mdocdate: February 4 2020 $ .Dt SSH-KEYGEN 1 .Os .Sh NAME @@ -472,6 +472,8 @@ Those supported at present are: Override the default FIDO application/origin string of .Dq ssh: . This may be useful when generating host or domain-specific resident keys. +The specified application string must begin with +.Dq ssh: . .It Cm challenge Ns = Ns Ar path Specifies a path to a challenge string that will be passed to the FIDO token during key generation. diff --git a/ssh-keygen.c b/ssh-keygen.c index 4ee43ab98..2a64622c1 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keygen.c,v 1.395 2020/01/28 08:01:34 djm Exp $ */ +/* $OpenBSD: ssh-keygen.c,v 1.396 2020/02/04 09:58:04 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1994 Tatu Ylonen , Espoo, Finland @@ -3572,6 +3572,10 @@ main(int argc, char **argv) } else if (strncasecmp(opts[i], "application=", 12) == 0) { sk_application = xstrdup(opts[i] + 12); + if (strncmp(sk_application, "ssh:", 4) != 0) { + fatal("FIDO application string must " + "begin with \"ssh:\""); + } } else { fatal("Option \"%s\" is unsupported for " "FIDO authenticator enrollment", opts[i]); -- cgit v1.2.3