summaryrefslogtreecommitdiff
path: root/dev-vcs/cvs/files/cvs-1.12.12-CVE-2017-12836-commandinjection.patch
blob: 87b1fdc9584c5501ed6ea96c601fc71c3f41ec7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
diff -Naurp a/src/rsh-client.c b/src/rsh-client.c
--- a/src/rsh-client.c	2005-03-15 18:45:10.000000000 +0100
+++ b/src/rsh-client.c	2017-08-26 17:43:23.228060155 +0200
@@ -97,6 +97,9 @@ start_rsh_server (cvsroot_t *root, struc
 	rsh_argv[i++] = root->username;
     }
 
+    /* Only non-option arguments from here. (CVE-2017-12836) */
+    rsh_argv[i++] = "--";
+
     rsh_argv[i++] = root->hostname;
     rsh_argv[i++] = cvs_server;
     rsh_argv[i++] = "server";
@@ -171,6 +174,8 @@ start_rsh_server (cvsroot_t *root, struc
 	    *p++ = root->username;
 	}
 
+	*p++ = "--";
+
 	*p++ = root->hostname;
 	*p++ = command;
 	*p++ = NULL;