]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
CVE-2022-38023 libcli/auth: pass lp_ctx to netlogon_creds_cli_set_global_db()
authorStefan Metzmacher <metze@samba.org>
Wed, 30 Nov 2022 13:46:59 +0000 (14:46 +0100)
committerStefan Metzmacher <metze@samba.org>
Tue, 13 Dec 2022 20:37:58 +0000 (21:37 +0100)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15240

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
(cherry picked from commit 992f39a2c8a58301ceeb965f401e29cd64c5a209)

libcli/auth/netlogon_creds_cli.c
libcli/auth/netlogon_creds_cli.h
source3/rpc_client/cli_netlogon.c
source3/utils/destroy_netlogon_creds_cli.c

index b23dddc21be01095220aa2a13b73d29256c7ac1d..f8b7bc2133ed64a1eedf1a010e9b018e20cba22b 100644 (file)
@@ -201,7 +201,8 @@ static NTSTATUS netlogon_creds_cli_context_common(
 
 static struct db_context *netlogon_creds_cli_global_db;
 
-NTSTATUS netlogon_creds_cli_set_global_db(struct db_context **db)
+NTSTATUS netlogon_creds_cli_set_global_db(struct loadparm_context *lp_ctx,
+                                         struct db_context **db)
 {
        if (netlogon_creds_cli_global_db != NULL) {
                return NT_STATUS_INVALID_PARAMETER_MIX;
index 7fb41872c36cbd5bb70aca750a0c5911a1084a14..3e401dabe9c35d105c2a7ae6a49ae3e2d312b937 100644 (file)
@@ -31,7 +31,7 @@ struct messaging_context;
 struct dcerpc_binding_handle;
 struct db_context;
 
-NTSTATUS netlogon_creds_cli_set_global_db(struct db_context **db);
+NTSTATUS netlogon_creds_cli_set_global_db(struct loadparm_context *lp_ctx, struct db_context **db);
 NTSTATUS netlogon_creds_cli_open_global_db(struct loadparm_context *lp_ctx);
 void netlogon_creds_cli_close_global_db(void);
 
index 50dae9d7f3eb6500dd62038d2f82832c3989f641..18664e8b91af033cec019639ae6f14167331878a 100644 (file)
@@ -76,7 +76,7 @@ NTSTATUS rpccli_pre_open_netlogon_creds(void)
                return NT_STATUS_NO_MEMORY;
        }
 
-       status = netlogon_creds_cli_set_global_db(&global_db);
+       status = netlogon_creds_cli_set_global_db(lp_ctx, &global_db);
        TALLOC_FREE(frame);
        if (!NT_STATUS_IS_OK(status)) {
                return status;
index f28cad527dfb318096694814595da9de56a0feb5..a2e1952e434c240f553bb90db3e08a00991c42d5 100644 (file)
@@ -82,7 +82,7 @@ int main(int argc, const char *argv[])
                goto done;
        }
 
-       status = netlogon_creds_cli_set_global_db(&global_db);
+       status = netlogon_creds_cli_set_global_db(lp_ctx, &global_db);
        if (!NT_STATUS_IS_OK(status)) {
                fprintf(stderr,
                        "netlogon_creds_cli_set_global_db failed: %s\n",