]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3:rpc_server: Check function code according to MS-NRPC
authorJo Sutton <josutton@catalyst.net.nz>
Tue, 28 May 2024 03:10:51 +0000 (15:10 +1200)
committerNoel Power <npower@samba.org>
Tue, 4 Jun 2024 08:33:32 +0000 (08:33 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15465
Signed-off-by: Jo Sutton <josutton@catalyst.net.nz>
Reviewed-by: Noel Power <noel.power@suse.com>
source3/rpc_server/netlogon/srv_netlog_nt.c

index 61471eadae0f5ec04a8fc60ba83f5749ce46e7a5..c3d0d511f40efd1b4b0ec5068fba99ebf657075f 100644 (file)
@@ -368,6 +368,12 @@ WERROR _netr_LogonControl2Ex(struct pipes_struct *p,
                r->out.query->info1 = info1;
                break;
        case 2:
+               if (r->in.function_code != NETLOGON_CONTROL_REDISCOVER &&
+                   r->in.function_code != NETLOGON_CONTROL_TC_QUERY &&
+                   r->in.function_code != NETLOGON_CONTROL_TC_VERIFY)
+               {
+                       return WERR_INVALID_PARAMETER;
+               }
                info2 = talloc_zero(p->mem_ctx, struct netr_NETLOGON_INFO_2);
                W_ERROR_HAVE_NO_MEMORY(info2);