diff options
author | Colin Watson <cjwatson@debian.org> | 2019-01-12 18:47:36 +0000 |
---|---|---|
committer | Colin Watson <cjwatson@debian.org> | 2019-01-12 18:48:52 +0000 |
commit | 7e34cc252e1c42369aaaa8e1c379699ccf8c9e0e (patch) | |
tree | 642e1d00319b5f4abafeea0887c29d7904f873ed /debian/patches | |
parent | a604dd3f234ebbb2823e6af39d58966d4c7d7282 (diff) | |
parent | dee21e97428e69d30e2d15c71f3e7cc08bf8e4f8 (diff) |
scp: disallow empty incoming filename or "."
Closes: #919101
Diffstat (limited to 'debian/patches')
-rw-r--r-- | debian/patches/scp-disallow-dot-or-empty-filename.patch | 32 | ||||
-rw-r--r-- | debian/patches/series | 1 |
2 files changed, 33 insertions, 0 deletions
diff --git a/debian/patches/scp-disallow-dot-or-empty-filename.patch b/debian/patches/scp-disallow-dot-or-empty-filename.patch new file mode 100644 index 000000000..716f2ffa8 --- /dev/null +++ b/debian/patches/scp-disallow-dot-or-empty-filename.patch | |||
@@ -0,0 +1,32 @@ | |||
1 | From dee21e97428e69d30e2d15c71f3e7cc08bf8e4f8 Mon Sep 17 00:00:00 2001 | ||
2 | From: "djm@openbsd.org" <djm@openbsd.org> | ||
3 | Date: Fri, 16 Nov 2018 03:03:10 +0000 | ||
4 | Subject: upstream: disallow empty incoming filename or ones that refer to the | ||
5 | |||
6 | current directory; based on report/patch from Harry Sintonen | ||
7 | |||
8 | OpenBSD-Commit-ID: f27651b30eaee2df49540ab68d030865c04f6de9 | ||
9 | |||
10 | Origin: upstream, https://anongit.mindrot.org/openssh.git/commit/?id=6010c0303a422a9c5fa8860c061bf7105eb7f8b2 | ||
11 | Bug-Debian: https://bugs.debian.org/919101 | ||
12 | Last-Update: 2019-01-12 | ||
13 | |||
14 | Patch-Name: scp-disallow-dot-or-empty-filename.patch | ||
15 | --- | ||
16 | scp.c | 3 ++- | ||
17 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
18 | |||
19 | diff --git a/scp.c b/scp.c | ||
20 | index ed2864250..7163d33dc 100644 | ||
21 | --- a/scp.c | ||
22 | +++ b/scp.c | ||
23 | @@ -1114,7 +1114,8 @@ sink(int argc, char **argv) | ||
24 | SCREWUP("size out of range"); | ||
25 | size = (off_t)ull; | ||
26 | |||
27 | - if ((strchr(cp, '/') != NULL) || (strcmp(cp, "..") == 0)) { | ||
28 | + if (*cp == '\0' || strchr(cp, '/') != NULL || | ||
29 | + strcmp(cp, ".") == 0 || strcmp(cp, "..") == 0) { | ||
30 | run_err("error: unexpected filename: %s", cp); | ||
31 | exit(1); | ||
32 | } | ||
diff --git a/debian/patches/series b/debian/patches/series index a248f086a..a6fc19449 100644 --- a/debian/patches/series +++ b/debian/patches/series | |||
@@ -24,3 +24,4 @@ restore-authorized_keys2.patch | |||
24 | seccomp-s390-flock-ipc.patch | 24 | seccomp-s390-flock-ipc.patch |
25 | seccomp-s390-ioctl-ep11-crypto.patch | 25 | seccomp-s390-ioctl-ep11-crypto.patch |
26 | conch-old-privkey-format.patch | 26 | conch-old-privkey-format.patch |
27 | scp-disallow-dot-or-empty-filename.patch | ||