a3a04f
From d2bc9f3afe23ee04d237ae9f4511fbe59a27ff54 Mon Sep 17 00:00:00 2001
a3a04f
From: Volker Lendecke <vl@samba.org>
a3a04f
Date: Mon, 8 May 2017 21:40:40 +0200
a3a04f
Subject: [PATCH] CVE-2017-7494: rpc_server3: Refuse to open pipe names with /
a3a04f
 inside
a3a04f
a3a04f
Bug: https://bugzilla.samba.org/show_bug.cgi?id=12780
a3a04f
a3a04f
Signed-off-by: Volker Lendecke <vl@samba.org>
a3a04f
Reviewed-by: Jeremy Allison <jra@samba.org>
a3a04f
Reviewed-by: Stefan Metzmacher <metze@samba.org>
a3a04f
---
a3a04f
 source3/rpc_server/srv_pipe.c | 5 +++++
a3a04f
 1 file changed, 5 insertions(+)
a3a04f
a3a04f
diff --git a/source3/rpc_server/srv_pipe.c b/source3/rpc_server/srv_pipe.c
a3a04f
index 0633b5f..c3f0cd8 100644
a3a04f
--- a/source3/rpc_server/srv_pipe.c
a3a04f
+++ b/source3/rpc_server/srv_pipe.c
a3a04f
@@ -475,6 +475,11 @@ bool is_known_pipename(const char *pipename, struct ndr_syntax_id *syntax)
a3a04f
 {
a3a04f
 	NTSTATUS status;
a3a04f
 
a3a04f
+	if (strchr(pipename, '/')) {
a3a04f
+		DEBUG(1, ("Refusing open on pipe %s\n", pipename));
a3a04f
+		return false;
a3a04f
+	}
a3a04f
+
a3a04f
 	if (lp_disable_spoolss() && strequal(pipename, "spoolss")) {
a3a04f
 		DEBUG(10, ("refusing spoolss access\n"));
a3a04f
 		return false;
a3a04f
-- 
a3a04f
1.9.1
a3a04f