CVE-2022-32744 s4:kdc: Rename keytab_name -> kpasswd_keytab_name
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Thu, 26 May 2022 04:36:30 +0000 (16:36 +1200)
committerJule Anger <janger@samba.org>
Sun, 24 Jul 2022 07:23:56 +0000 (09:23 +0200)
This makes explicitly clear the purpose of this keytab.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15074

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andreas Schneider <asn@samba.org>
source4/kdc/kdc-heimdal.c
source4/kdc/kdc-server.h
source4/kdc/kdc-service-mit.c
source4/kdc/kpasswd-service.c

index 542986c5ad3d307ab3931a944af9c962d52e6a3d..5b2b3e36652fbb511a0211906c2fe82c9e416cdb 100644 (file)
@@ -463,8 +463,8 @@ static void kdc_post_fork(struct task_server *task, struct process_details *pd)
                return;
        }
 
-       kdc->keytab_name = talloc_asprintf(kdc, "HDBGET:samba4:&%p", kdc->base_ctx);
-       if (kdc->keytab_name == NULL) {
+       kdc->kpasswd_keytab_name = talloc_asprintf(kdc, "HDBGET:samba4:&%p", kdc->base_ctx);
+       if (kdc->kpasswd_keytab_name == NULL) {
                task_server_terminate(task,
                                      "kdc: Failed to set keytab name",
                                      true);
index fd883c2e4b459ffd9011e1e963284a61c9590ca6..89b30f122f5c62b0513ef2cb01d6f5e9433ac851 100644 (file)
@@ -40,7 +40,7 @@ struct kdc_server {
        struct ldb_context *samdb;
        bool am_rodc;
        uint32_t proxy_timeout;
-       const char *keytab_name;
+       const char *kpasswd_keytab_name;
        void *private_data;
 };
 
index 5d4180aa7cc4a384032121e775eb3433e8fee8a7..22663b6ecc8bffcca5279adbd27e8ed9a8a6ac5f 100644 (file)
@@ -291,8 +291,8 @@ NTSTATUS mitkdc_task_init(struct task_server *task)
                return NT_STATUS_INTERNAL_ERROR;
        }
 
-       kdc->keytab_name = talloc_asprintf(kdc, "KDB:");
-       if (kdc->keytab_name == NULL) {
+       kdc->kpasswd_keytab_name = talloc_asprintf(kdc, "KDB:");
+       if (kdc->kpasswd_keytab_name == NULL) {
                task_server_terminate(task,
                                      "KDC: Out of memory",
                                      true);
index 379ddebf3ad5dda42d1cc3a913aa05fc6a6516a8..aec3085017328961a127919a2d51a1f85062f472 100644 (file)
@@ -170,7 +170,7 @@ kdc_code kpasswd_process(struct kdc_server *kdc,
 
        rv = cli_credentials_set_keytab_name(server_credentials,
                                             kdc->task->lp_ctx,
-                                            kdc->keytab_name,
+                                            kdc->kpasswd_keytab_name,
                                             CRED_SPECIFIED);
        if (rv != 0) {
                DBG_ERR("Failed to set credentials keytab name\n");