From 951d1b405c221a98e30c8560e941c73ab8493f9d Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 16 Nov 2018 03:03:10 +0000 Subject: upstream: disallow empty incoming filename or ones that refer to the current directory; based on report/patch from Harry Sintonen OpenBSD-Commit-ID: f27651b30eaee2df49540ab68d030865c04f6de9 Origin: upstream, https://anongit.mindrot.org/openssh.git/commit/?id=6010c0303a422a9c5fa8860c061bf7105eb7f8b2 Bug-Debian: https://bugs.debian.org/919101 Last-Update: 2019-02-08 Patch-Name: scp-disallow-dot-or-empty-filename.patch Ported to stretch by Yves-Alexis Perez CVE-2018-20685 --- scp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scp.c b/scp.c index 18c27720..26099529 100644 --- a/scp.c +++ b/scp.c @@ -1055,7 +1055,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); }