* gnu/packages/rsync.scm (rsync)[source]: Add patches. [properties]: Mark CVE-2017-15994 as not relevant. * gnu/packages/patches/rsync-CVE-2017-16548.patch, gnu/packages/patches/rsync-CVE-2017-17433.patch, gnu/packages/patches/rsync-CVE-2017-17433-fix-tests.patch, gnu/packages/patches/rsync-CVE-2017-17434-pt1.patch, gnu/packages/patches/rsync-CVE-2017-17434-pt2.patch: New files. * gnu/local.mk (dist_patch_DATA): Register them.
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17433
 | 
						|
https://git.samba.org/?p=rsync.git;a=patch;h=3e06d40029cfdce9d0f73d87cfd4edaf54be9c51
 | 
						|
 | 
						|
From 3e06d40029cfdce9d0f73d87cfd4edaf54be9c51 Mon Sep 17 00:00:00 2001
 | 
						|
From: Jeriko One <jeriko.one@gmx.us>
 | 
						|
Date: Thu, 2 Nov 2017 23:44:19 -0700
 | 
						|
Subject: [PATCH] Check fname in recv_files sooner.
 | 
						|
 | 
						|
---
 | 
						|
 receiver.c | 12 ++++++------
 | 
						|
 1 file changed, 6 insertions(+), 6 deletions(-)
 | 
						|
 | 
						|
diff --git a/receiver.c b/receiver.c
 | 
						|
index baae3a9..9fdafa1 100644
 | 
						|
--- a/receiver.c
 | 
						|
+++ b/receiver.c
 | 
						|
@@ -574,6 +574,12 @@ int recv_files(int f_in, int f_out, char *local_name)
 | 
						|
 			file = dir_flist->files[cur_flist->parent_ndx];
 | 
						|
 		fname = local_name ? local_name : f_name(file, fbuf);
 | 
						|
 
 | 
						|
+		if (daemon_filter_list.head
 | 
						|
+		    && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0) {
 | 
						|
+			rprintf(FERROR, "attempt to hack rsync failed.\n");
 | 
						|
+			exit_cleanup(RERR_PROTOCOL);
 | 
						|
+		}
 | 
						|
+
 | 
						|
 		if (DEBUG_GTE(RECV, 1))
 | 
						|
 			rprintf(FINFO, "recv_files(%s)\n", fname);
 | 
						|
 
 | 
						|
@@ -645,12 +651,6 @@ int recv_files(int f_in, int f_out, char *local_name)
 | 
						|
 
 | 
						|
 		cleanup_got_literal = 0;
 | 
						|
 
 | 
						|
-		if (daemon_filter_list.head
 | 
						|
-		    && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0) {
 | 
						|
-			rprintf(FERROR, "attempt to hack rsync failed.\n");
 | 
						|
-			exit_cleanup(RERR_PROTOCOL);
 | 
						|
-		}
 | 
						|
-
 | 
						|
 		if (read_batch) {
 | 
						|
 			int wanted = redoing
 | 
						|
 				   ? we_want_redo(ndx)
 | 
						|
-- 
 | 
						|
1.9.1
 | 
						|
 |