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)
committerPavel Filipenský <pfilipensky@samba.org>
Wed, 18 Jan 2023 12:00:52 +0000 (13:00 +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 c2b91e2b1ddfd4a4c1403be73186c4842740a625..c78f37bdd7e79121b37eb1b9e7abde0c3e1de8d1 100644 (file)
@@ -202,7 +202,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 56a2dd9bc77bf653dc5f7ff0eb97da210c39d8c6..2ce5de9d30508d5be9975b81d87da764b413c5c1 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 175f83d67501fa92c083d721040ea7145f91403d..06f4a38ab5a3a5e204be0c64758601d0b9bd1499 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 137ac8393e7efcc2fc082aae3b0c935e223c507f..95a650f4654bfb435189025771ea16c7fdd35abb 100644 (file)
@@ -83,7 +83,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",