From: Jo Sutton Date: Tue, 28 May 2024 03:12:36 +0000 (+1200) Subject: s3:rpc_server: Check query level according to MS-NRPC X-Git-Tag: tdb-1.4.11~476 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=747a7fec01d39453093ed48b167fa1d5d80aead4;p=thirdparty%2Fsamba.git s3:rpc_server: Check query level according to MS-NRPC BUG: https://bugzilla.samba.org/show_bug.cgi?id=15465 Signed-off-by: Jo Sutton Reviewed-by: Noel Power Autobuild-User(master): Noel Power Autobuild-Date(master): Tue Jun 4 09:39:42 UTC 2024 on atb-devel-224 --- diff --git a/source3/rpc_server/netlogon/srv_netlog_nt.c b/source3/rpc_server/netlogon/srv_netlog_nt.c index c3d0d511f40..ccae62083cc 100644 --- a/source3/rpc_server/netlogon/srv_netlog_nt.c +++ b/source3/rpc_server/netlogon/srv_netlog_nt.c @@ -263,10 +263,16 @@ WERROR _netr_LogonControl2Ex(struct pipes_struct *p, case NETLOGON_CONTROL_TRUNCATE_LOG: case NETLOGON_CONTROL_TRANSPORT_NOTIFY: case NETLOGON_CONTROL_FORCE_DNS_REG: + return WERR_NOT_SUPPORTED; case NETLOGON_CONTROL_QUERY_DNS_REG: + if (r->in.level != 1) { + return WERR_INVALID_PARAMETER; + } return WERR_NOT_SUPPORTED; - case NETLOGON_CONTROL_FIND_USER: + if (r->in.level != 4) { + return WERR_INVALID_PARAMETER; + } if (!r->in.data || !r->in.data->user) { return WERR_NOT_SUPPORTED; } @@ -277,6 +283,9 @@ WERROR _netr_LogonControl2Ex(struct pipes_struct *p, } break; case NETLOGON_CONTROL_TC_VERIFY: + if (r->in.level != 2) { + return WERR_INVALID_PARAMETER; + } if (!r->in.data || !r->in.data->domain) { return WERR_NOT_SUPPORTED; }