From d221994a4ff7074cccfe45277583fe76d984d060 Mon Sep 17 00:00:00 2001 From: emaste Date: Wed, 16 Jan 2019 15:19:09 +0000 Subject: [PATCH] MFC r343043: scp: disallow empty or current directory Obtained from: OpenBSD scp.c 1.198 Security: CVE-2018-20685 Sponsored by: The FreeBSD Foundation git-svn-id: svn://svn.freebsd.org/base/stable/10@343098 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- crypto/openssh/scp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crypto/openssh/scp.c b/crypto/openssh/scp.c index 43ca3fa09..89368dcc2 100644 --- a/crypto/openssh/scp.c +++ b/crypto/openssh/scp.c @@ -1048,7 +1048,8 @@ sink(int argc, char **argv) size = size * 10 + (*cp++ - '0'); if (*cp++ != ' ') SCREWUP("size not delimited"); - if ((strchr(cp, '/') != NULL) || (strcmp(cp, "..") == 0)) { + if (*cp == '\0' || strchr(cp, '/') != NULL || + strcmp(cp, ".") == 0 || strcmp(cp, "..") == 0) { run_err("error: unexpected filename: %s", cp); exit(1); } -- 2.45.0