57 lines
1.9 KiB
Diff
57 lines
1.9 KiB
Diff
From c22162544b70c5e546d973506cdb3ca197bdb375 Mon Sep 17 00:00:00 2001
|
|
From: Joseph Sutton <josephsutton@catalyst.net.nz>
|
|
Date: Tue, 26 Oct 2021 20:33:38 +1300
|
|
Subject: [PATCH] CVE-2020-25719 krb5pac.idl: Add PAC_ATTRIBUTES_INFO PAC
|
|
buffer type
|
|
|
|
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14561
|
|
|
|
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
|
|
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
|
|
---
|
|
librpc/idl/krb5pac.idl | 14 +++++++++++++-
|
|
1 file changed, 13 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/librpc/idl/krb5pac.idl b/librpc/idl/krb5pac.idl
|
|
index aaa982b..01af1d0 100644
|
|
--- a/librpc/idl/krb5pac.idl
|
|
+++ b/librpc/idl/krb5pac.idl
|
|
@@ -111,6 +111,16 @@ interface krb5pac
|
|
[switch_is(flags & PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID)] PAC_UPN_DNS_INFO_EX ex;
|
|
} PAC_UPN_DNS_INFO;
|
|
|
|
+ typedef [bitmap32bit] bitmap {
|
|
+ PAC_ATTRIBUTE_FLAG_PAC_WAS_REQUESTED = 0x00000001,
|
|
+ PAC_ATTRIBUTE_FLAG_PAC_WAS_GIVEN_IMPLICITLY = 0x00000002
|
|
+ } PAC_ATTRIBUTE_INFO_FLAGS;
|
|
+
|
|
+ typedef struct {
|
|
+ uint32 flags_length; /* length in bits */
|
|
+ PAC_ATTRIBUTE_INFO_FLAGS flags;
|
|
+ } PAC_ATTRIBUTES_INFO;
|
|
+
|
|
typedef [public] struct {
|
|
PAC_LOGON_INFO *info;
|
|
} PAC_LOGON_INFO_CTR;
|
|
@@ -127,7 +137,8 @@ interface krb5pac
|
|
PAC_TYPE_LOGON_NAME = 10,
|
|
PAC_TYPE_CONSTRAINED_DELEGATION = 11,
|
|
PAC_TYPE_UPN_DNS_INFO = 12,
|
|
- PAC_TYPE_TICKET_CHECKSUM = 16
|
|
+ PAC_TYPE_TICKET_CHECKSUM = 16,
|
|
+ PAC_TYPE_ATTRIBUTES_INFO = 17
|
|
} PAC_TYPE;
|
|
|
|
typedef struct {
|
|
@@ -144,6 +155,7 @@ interface krb5pac
|
|
PAC_CONSTRAINED_DELEGATION_CTR constrained_delegation;
|
|
[case(PAC_TYPE_UPN_DNS_INFO)] PAC_UPN_DNS_INFO upn_dns_info;
|
|
[case(PAC_TYPE_TICKET_CHECKSUM)] PAC_SIGNATURE_DATA ticket_checksum;
|
|
+ [case(PAC_TYPE_ATTRIBUTES_INFO)] PAC_ATTRIBUTES_INFO attributes_info;
|
|
/* when new PAC info types are added they are supposed to be done
|
|
in such a way that they are backwards compatible with existing
|
|
servers. This makes it safe to just use a [default] for
|
|
--
|
|
2.27.0
|
|
|