stricter validation of messaging socket fd number; disallow usage of
authordjm <djm@openbsd.org>
Tue, 30 Apr 2024 05:53:03 +0000 (05:53 +0000)
committerdjm <djm@openbsd.org>
Tue, 30 Apr 2024 05:53:03 +0000 (05:53 +0000)
stderr. Based on GHPR492 by RealHurrison

usr.bin/ssh/ssh-keysign.c

index 97a117e..434c750 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-keysign.c,v 1.73 2024/01/11 01:51:16 djm Exp $ */
+/* $OpenBSD: ssh-keysign.c,v 1.74 2024/04/30 05:53:03 djm Exp $ */
 /*
  * Copyright (c) 2002 Markus Friedl.  All rights reserved.
  *
@@ -265,7 +265,7 @@ main(int argc, char **argv)
                    __progname, rver, version);
        if ((r = sshbuf_get_u32(b, (u_int *)&fd)) != 0)
                fatal_r(r, "%s: buffer error", __progname);
-       if (fd < 0 || fd == STDIN_FILENO || fd == STDOUT_FILENO)
+       if (fd <= STDERR_FILENO)
                fatal("%s: bad fd = %d", __progname, fd);
        if ((host = get_local_name(fd)) == NULL)
                fatal("%s: cannot get local name for fd", __progname);