CVE-2015-5370: s3:rpc_client: verify auth_{type,level} in rpc_pipe_bind_step_one_done()
authorStefan Metzmacher <metze@samba.org>
Tue, 7 Jul 2015 20:51:18 +0000 (22:51 +0200)
committerStefan Metzmacher <metze@samba.org>
Tue, 12 Apr 2016 17:25:31 +0000 (19:25 +0200)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11344

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Günther Deschner <gd@samba.org>
source3/rpc_client/cli_pipe.c

index 26f709df2c5ec7442307cbd21918a5209b76737e..1d1ccade5f5b840b67dd180ec691e7d4d353ea56 100644 (file)
@@ -1908,6 +1908,21 @@ static void rpc_pipe_bind_step_one_done(struct tevent_req *subreq)
                        tevent_req_nterror(req, status);
                        return;
                }
+
+               if (auth.auth_type != pauth->auth_type) {
+                       DEBUG(0, (__location__ " Auth type %u mismatch expected %u.\n",
+                                 auth.auth_type, pauth->auth_type));
+                       tevent_req_nterror(req, NT_STATUS_RPC_PROTOCOL_ERROR);
+                       return;
+               }
+
+               if (auth.auth_level != pauth->auth_level) {
+                       DEBUG(0, (__location__ " Auth level %u mismatch expected %u.\n",
+                                 auth.auth_level, pauth->auth_level));
+                       tevent_req_nterror(req, NT_STATUS_RPC_PROTOCOL_ERROR);
+                       return;
+               }
+
                break;
        }