diff options
Diffstat (limited to 'net-misc/rsync/files/rsync-3.1.2-CVE-2017-17434-part2.patch')
-rw-r--r-- | net-misc/rsync/files/rsync-3.1.2-CVE-2017-17434-part2.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/net-misc/rsync/files/rsync-3.1.2-CVE-2017-17434-part2.patch b/net-misc/rsync/files/rsync-3.1.2-CVE-2017-17434-part2.patch new file mode 100644 index 000000000000..5b94efa0c1a8 --- /dev/null +++ b/net-misc/rsync/files/rsync-3.1.2-CVE-2017-17434-part2.patch @@ -0,0 +1,33 @@ +From 70aeb5fddd1b2f8e143276f8d5a085db16c593b9 Mon Sep 17 00:00:00 2001 +From: Jeriko One <jeriko.one@gmx.us> +Date: Thu, 16 Nov 2017 17:05:42 -0800 +Subject: [PATCH] Sanitize xname in read_ndx_and_attrs. + +--- + rsync.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +Index: rsync-3.1.2/rsync.c +=================================================================== +--- rsync-3.1.2.orig/rsync.c ++++ rsync-3.1.2/rsync.c +@@ -50,6 +50,7 @@ extern int flist_eof; + extern int file_old_total; + extern int keep_dirlinks; + extern int make_backups; ++extern int sanitize_paths; + extern struct file_list *cur_flist, *first_flist, *dir_flist; + extern struct chmod_mode_struct *daemon_chmod_modes; + #ifdef ICONV_OPTION +@@ -397,6 +398,11 @@ int read_ndx_and_attrs(int f_in, int f_o + if (iflags & ITEM_XNAME_FOLLOWS) { + if ((len = read_vstring(f_in, buf, MAXPATHLEN)) < 0) + exit_cleanup(RERR_PROTOCOL); ++ ++ if (sanitize_paths) { ++ sanitize_path(buf, buf, "", 0, SP_DEFAULT); ++ len = strlen(buf); ++ } + } else { + *buf = '\0'; + len = -1; |