import samba-4.14.5-7.el8_5
This commit is contained in:
parent
784d4544c1
commit
7c2961c055
108
SOURCES/CVE-2016-2124.patch
Normal file
108
SOURCES/CVE-2016-2124.patch
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
From 2a961e883b624219a72f212c554d34a18f22d4d1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stefan Metzmacher <metze@samba.org>
|
||||||
|
Date: Thu, 24 Nov 2016 09:12:59 +0100
|
||||||
|
Subject: [PATCH 1/2] CVE-2016-2124: s4:libcli/sesssetup: don't fallback to non
|
||||||
|
spnego authentication if we require kerberos
|
||||||
|
|
||||||
|
We should not send NTLM[v2] data on the wire if the user asked for kerberos
|
||||||
|
only.
|
||||||
|
|
||||||
|
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12444
|
||||||
|
|
||||||
|
Signed-off-by: Stefan Metzmacher <metze@samba.org>
|
||||||
|
---
|
||||||
|
source4/libcli/smb_composite/sesssetup.c | 14 ++++++++++++++
|
||||||
|
1 file changed, 14 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/source4/libcli/smb_composite/sesssetup.c b/source4/libcli/smb_composite/sesssetup.c
|
||||||
|
index 51e121bdce6b..391ee081fe62 100644
|
||||||
|
--- a/source4/libcli/smb_composite/sesssetup.c
|
||||||
|
+++ b/source4/libcli/smb_composite/sesssetup.c
|
||||||
|
@@ -622,6 +622,8 @@ struct composite_context *smb_composite_sesssetup_send(struct smbcli_session *se
|
||||||
|
NTSTATUS status;
|
||||||
|
enum smb_encryption_setting encryption_state =
|
||||||
|
cli_credentials_get_smb_encryption(io->in.credentials);
|
||||||
|
+ enum credentials_use_kerberos krb5_state =
|
||||||
|
+ cli_credentials_get_kerberos_state(io->in.credentials);
|
||||||
|
|
||||||
|
c = composite_create(session, session->transport->ev);
|
||||||
|
if (c == NULL) return NULL;
|
||||||
|
@@ -642,6 +644,10 @@ struct composite_context *smb_composite_sesssetup_send(struct smbcli_session *se
|
||||||
|
|
||||||
|
/* no session setup at all in earliest protocol varients */
|
||||||
|
if (session->transport->negotiate.protocol < PROTOCOL_LANMAN1) {
|
||||||
|
+ if (krb5_state == CRED_USE_KERBEROS_REQUIRED) {
|
||||||
|
+ composite_error(c, NT_STATUS_NETWORK_CREDENTIAL_CONFLICT);
|
||||||
|
+ return c;
|
||||||
|
+ }
|
||||||
|
ZERO_STRUCT(io->out);
|
||||||
|
composite_done(c);
|
||||||
|
return c;
|
||||||
|
@@ -649,9 +655,17 @@ struct composite_context *smb_composite_sesssetup_send(struct smbcli_session *se
|
||||||
|
|
||||||
|
/* see what session setup interface we will use */
|
||||||
|
if (session->transport->negotiate.protocol < PROTOCOL_NT1) {
|
||||||
|
+ if (krb5_state == CRED_USE_KERBEROS_REQUIRED) {
|
||||||
|
+ composite_error(c, NT_STATUS_NETWORK_CREDENTIAL_CONFLICT);
|
||||||
|
+ return c;
|
||||||
|
+ }
|
||||||
|
status = session_setup_old(c, session, io, &state->req);
|
||||||
|
} else if (!session->transport->options.use_spnego ||
|
||||||
|
!(io->in.capabilities & CAP_EXTENDED_SECURITY)) {
|
||||||
|
+ if (krb5_state == CRED_USE_KERBEROS_REQUIRED) {
|
||||||
|
+ composite_error(c, NT_STATUS_NETWORK_CREDENTIAL_CONFLICT);
|
||||||
|
+ return c;
|
||||||
|
+ }
|
||||||
|
status = session_setup_nt1(c, session, io, &state->req);
|
||||||
|
} else {
|
||||||
|
struct tevent_req *subreq = NULL;
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
||||||
|
|
||||||
|
From 31a67554cf6c3d9368bef58d1249844f8eeb0059 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stefan Metzmacher <metze@samba.org>
|
||||||
|
Date: Thu, 27 Oct 2016 10:40:28 +0200
|
||||||
|
Subject: [PATCH 2/2] CVE-2016-2124: s3:libsmb: don't fallback to non spnego
|
||||||
|
authentication if we require kerberos
|
||||||
|
|
||||||
|
We should not send NTLM[v2] nor plaintext data on the wire if the user
|
||||||
|
asked for kerberos only.
|
||||||
|
|
||||||
|
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12444
|
||||||
|
|
||||||
|
Signed-off-by: Stefan Metzmacher <metze@samba.org>
|
||||||
|
---
|
||||||
|
source3/libsmb/cliconnect.c | 9 +++++++++
|
||||||
|
1 file changed, 9 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c
|
||||||
|
index 853fb344bcd6..c01846ac8119 100644
|
||||||
|
--- a/source3/libsmb/cliconnect.c
|
||||||
|
+++ b/source3/libsmb/cliconnect.c
|
||||||
|
@@ -1442,6 +1442,8 @@ struct tevent_req *cli_session_setup_creds_send(TALLOC_CTX *mem_ctx,
|
||||||
|
uint32_t in_sess_key = 0;
|
||||||
|
const char *in_native_os = NULL;
|
||||||
|
const char *in_native_lm = NULL;
|
||||||
|
+ enum credentials_use_kerberos krb5_state =
|
||||||
|
+ cli_credentials_get_kerberos_state(creds);
|
||||||
|
NTSTATUS status;
|
||||||
|
|
||||||
|
req = tevent_req_create(mem_ctx, &state,
|
||||||
|
@@ -1483,6 +1485,13 @@ struct tevent_req *cli_session_setup_creds_send(TALLOC_CTX *mem_ctx,
|
||||||
|
return req;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (krb5_state == CRED_USE_KERBEROS_REQUIRED) {
|
||||||
|
+ DBG_WARNING("Kerberos authentication requested, but "
|
||||||
|
+ "the server does not support SPNEGO authentication\n");
|
||||||
|
+ tevent_req_nterror(req, NT_STATUS_NETWORK_CREDENTIAL_CONFLICT);
|
||||||
|
+ return tevent_req_post(req, ev);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (smbXcli_conn_protocol(cli->conn) < PROTOCOL_LANMAN1) {
|
||||||
|
/*
|
||||||
|
* SessionSetupAndX was introduced by LANMAN 1.0. So we skip
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
3771
SOURCES/CVE-2020-25717.patch
Normal file
3771
SOURCES/CVE-2020-25717.patch
Normal file
File diff suppressed because it is too large
Load Diff
4996
SOURCES/CVE-2021-23192.patch
Normal file
4996
SOURCES/CVE-2021-23192.patch
Normal file
File diff suppressed because it is too large
Load Diff
51
SOURCES/samba-4.14-IPA-DC-add-missing-checks.patch
Normal file
51
SOURCES/samba-4.14-IPA-DC-add-missing-checks.patch
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
From c11dab13dd30af3e0beb69e8d47c3bfd85e18a91 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alexander Bokovoy <ab@samba.org>
|
||||||
|
Date: Fri, 12 Nov 2021 19:06:01 +0200
|
||||||
|
Subject: [PATCH] IPA DC: add missing checks
|
||||||
|
|
||||||
|
When introducing FreeIPA support, two places were forgotten:
|
||||||
|
|
||||||
|
- schannel gensec module needs to be aware of IPA DC
|
||||||
|
- _lsa_QueryInfoPolicy should treat IPA DC as PDC
|
||||||
|
|
||||||
|
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14903
|
||||||
|
|
||||||
|
Signed-off-by: Alexander Bokovoy <ab@samba.org>
|
||||||
|
Reviewed-by: Guenther Deschner <gd@samba.org>
|
||||||
|
|
||||||
|
Autobuild-User(master): Alexander Bokovoy <ab@samba.org>
|
||||||
|
Autobuild-Date(master): Sat Nov 13 07:01:26 UTC 2021 on sn-devel-184
|
||||||
|
|
||||||
|
(cherry picked from commit c69b66f649c1d47a7367f7efe25b8df32369a3a5)
|
||||||
|
---
|
||||||
|
auth/gensec/schannel.c | 1 +
|
||||||
|
source3/rpc_server/lsa/srv_lsa_nt.c | 1 +
|
||||||
|
2 files changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/auth/gensec/schannel.c b/auth/gensec/schannel.c
|
||||||
|
index 0cdae141ead..6ebbe8f3179 100644
|
||||||
|
--- a/auth/gensec/schannel.c
|
||||||
|
+++ b/auth/gensec/schannel.c
|
||||||
|
@@ -1080,6 +1080,7 @@ static NTSTATUS schannel_server_start(struct gensec_security *gensec_security)
|
||||||
|
case ROLE_DOMAIN_BDC:
|
||||||
|
case ROLE_DOMAIN_PDC:
|
||||||
|
case ROLE_ACTIVE_DIRECTORY_DC:
|
||||||
|
+ case ROLE_IPA_DC:
|
||||||
|
return NT_STATUS_OK;
|
||||||
|
default:
|
||||||
|
return NT_STATUS_NOT_IMPLEMENTED;
|
||||||
|
diff --git a/source3/rpc_server/lsa/srv_lsa_nt.c b/source3/rpc_server/lsa/srv_lsa_nt.c
|
||||||
|
index d6d606ddeca..36774be3e32 100644
|
||||||
|
--- a/source3/rpc_server/lsa/srv_lsa_nt.c
|
||||||
|
+++ b/source3/rpc_server/lsa/srv_lsa_nt.c
|
||||||
|
@@ -683,6 +683,7 @@ NTSTATUS _lsa_QueryInfoPolicy(struct pipes_struct *p,
|
||||||
|
switch (lp_server_role()) {
|
||||||
|
case ROLE_DOMAIN_PDC:
|
||||||
|
case ROLE_DOMAIN_BDC:
|
||||||
|
+ case ROLE_IPA_DC:
|
||||||
|
name = get_global_sam_name();
|
||||||
|
sid = dom_sid_dup(p->mem_ctx, get_global_sam_sid());
|
||||||
|
if (!sid) {
|
||||||
|
--
|
||||||
|
2.33.1
|
||||||
|
|
41
SOURCES/samba-4.14-fix-winbind-no-trusted-domain.patch
Normal file
41
SOURCES/samba-4.14-fix-winbind-no-trusted-domain.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
From 2edaf32b4204b9fe363c441c25b6989fe76911a4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stefan Metzmacher <metze@samba.org>
|
||||||
|
Date: Tue, 9 Nov 2021 20:50:20 +0100
|
||||||
|
Subject: [PATCH] s3:winbindd: fix "allow trusted domains = no" regression
|
||||||
|
|
||||||
|
add_trusted_domain() should only reject domains
|
||||||
|
based on is_allowed_domain(), which now also
|
||||||
|
checks "allow trusted domains = no", if we don't
|
||||||
|
have an explicit trust to the domain (SEC_CHAN_NULL).
|
||||||
|
|
||||||
|
We use at least SEC_CHAN_LOCAL for local domains like
|
||||||
|
BUILTIN.
|
||||||
|
|
||||||
|
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14899
|
||||||
|
|
||||||
|
Signed-off-by: Stefan Metzmacher <metze@samba.org>
|
||||||
|
|
||||||
|
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
|
||||||
|
Autobuild-Date(master): Wed Nov 10 11:21:31 UTC 2021 on sn-devel-184
|
||||||
|
|
||||||
|
(cherry picked from commit a7f6c60cb037b4bc9eee276236539b8282213935)
|
||||||
|
---
|
||||||
|
source3/winbindd/winbindd_util.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/source3/winbindd/winbindd_util.c b/source3/winbindd/winbindd_util.c
|
||||||
|
index 42ddbfd2f44..9d54e462c42 100644
|
||||||
|
--- a/source3/winbindd/winbindd_util.c
|
||||||
|
+++ b/source3/winbindd/winbindd_util.c
|
||||||
|
@@ -134,7 +134,7 @@ static NTSTATUS add_trusted_domain(const char *domain_name,
|
||||||
|
return NT_STATUS_INVALID_PARAMETER;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (!is_allowed_domain(domain_name)) {
|
||||||
|
+ if (secure_channel_type == SEC_CHAN_NULL && !is_allowed_domain(domain_name)) {
|
||||||
|
return NT_STATUS_NO_SUCH_DOMAIN;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.33.1
|
||||||
|
|
298
SOURCES/samba-4.14-krb5pac.patch
Normal file
298
SOURCES/samba-4.14-krb5pac.patch
Normal file
@ -0,0 +1,298 @@
|
|||||||
|
From 97829843013e2f0d81b6ed61d155a04217e40205 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Joseph Sutton <josephsutton@catalyst.net.nz>
|
||||||
|
Date: Wed, 1 Sep 2021 15:39:19 +1200
|
||||||
|
Subject: [PATCH 1/6] krb5pac.idl: Add ticket checksum PAC buffer type
|
||||||
|
|
||||||
|
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
|
||||||
|
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
|
||||||
|
Reviewed-by: Isaac Boukris <iboukris@samba.org>
|
||||||
|
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14881
|
||||||
|
(cherry picked from commit ff2f38fae79220e16765e17671972f9a55eb7cce)
|
||||||
|
---
|
||||||
|
librpc/idl/krb5pac.idl | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/librpc/idl/krb5pac.idl b/librpc/idl/krb5pac.idl
|
||||||
|
index fb360c1257f..3239d7656b6 100644
|
||||||
|
--- a/librpc/idl/krb5pac.idl
|
||||||
|
+++ b/librpc/idl/krb5pac.idl
|
||||||
|
@@ -112,7 +112,8 @@ interface krb5pac
|
||||||
|
PAC_TYPE_KDC_CHECKSUM = 7,
|
||||||
|
PAC_TYPE_LOGON_NAME = 10,
|
||||||
|
PAC_TYPE_CONSTRAINED_DELEGATION = 11,
|
||||||
|
- PAC_TYPE_UPN_DNS_INFO = 12
|
||||||
|
+ PAC_TYPE_UPN_DNS_INFO = 12,
|
||||||
|
+ PAC_TYPE_TICKET_CHECKSUM = 16
|
||||||
|
} PAC_TYPE;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
@@ -128,6 +129,7 @@ interface krb5pac
|
||||||
|
[case(PAC_TYPE_CONSTRAINED_DELEGATION)][subcontext(0xFFFFFC01)]
|
||||||
|
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;
|
||||||
|
/* 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.33.1
|
||||||
|
|
||||||
|
|
||||||
|
From 99cc0e06e5fe2776371b808432af39de00f76cdf Mon Sep 17 00:00:00 2001
|
||||||
|
From: Joseph Sutton <josephsutton@catalyst.net.nz>
|
||||||
|
Date: Wed, 1 Sep 2021 15:40:59 +1200
|
||||||
|
Subject: [PATCH 2/6] security.idl: Add well-known SIDs for FAST
|
||||||
|
|
||||||
|
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
|
||||||
|
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
|
||||||
|
Reviewed-by: Isaac Boukris <iboukris@samba.org>
|
||||||
|
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14881
|
||||||
|
(cherry picked from commit 0092b4a3ed58b2c256d4dd9117cce927a3edde12)
|
||||||
|
---
|
||||||
|
librpc/idl/security.idl | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/librpc/idl/security.idl b/librpc/idl/security.idl
|
||||||
|
index 06bf7449a70..3df96dedbdd 100644
|
||||||
|
--- a/librpc/idl/security.idl
|
||||||
|
+++ b/librpc/idl/security.idl
|
||||||
|
@@ -295,6 +295,9 @@ interface security
|
||||||
|
const string SID_AUTHENTICATION_AUTHORITY_ASSERTED_IDENTITY = "S-1-18-1";
|
||||||
|
const string SID_SERVICE_ASSERTED_IDENTITY = "S-1-18-2";
|
||||||
|
|
||||||
|
+ const string SID_COMPOUNDED_AUTHENTICATION = "S-1-5-21-0-0-0-496";
|
||||||
|
+ const string SID_CLAIMS_VALID = "S-1-5-21-0-0-0-497";
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* http://technet.microsoft.com/en-us/library/hh509017(v=ws.10).aspx
|
||||||
|
*/
|
||||||
|
--
|
||||||
|
2.33.1
|
||||||
|
|
||||||
|
|
||||||
|
From 693bcdb2f9b64af390d619c9b39293c581900151 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Joseph Sutton <josephsutton@catalyst.net.nz>
|
||||||
|
Date: Wed, 29 Sep 2021 16:15:26 +1300
|
||||||
|
Subject: [PATCH 3/6] krb5pac.idl: Add missing buffer type values
|
||||||
|
|
||||||
|
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14642
|
||||||
|
|
||||||
|
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
|
||||||
|
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
|
||||||
|
Backported-by: Andreas Schneider <asn@samba.org>
|
||||||
|
---
|
||||||
|
librpc/idl/krb5pac.idl | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/librpc/idl/krb5pac.idl b/librpc/idl/krb5pac.idl
|
||||||
|
index 3239d7656b6..515150ab9cd 100644
|
||||||
|
--- a/librpc/idl/krb5pac.idl
|
||||||
|
+++ b/librpc/idl/krb5pac.idl
|
||||||
|
@@ -113,6 +113,9 @@ interface krb5pac
|
||||||
|
PAC_TYPE_LOGON_NAME = 10,
|
||||||
|
PAC_TYPE_CONSTRAINED_DELEGATION = 11,
|
||||||
|
PAC_TYPE_UPN_DNS_INFO = 12,
|
||||||
|
+ PAC_TYPE_CLIENT_CLAIMS_INFO = 13,
|
||||||
|
+ PAC_TYPE_DEVICE_INFO = 14,
|
||||||
|
+ PAC_TYPE_DEVICE_CLAIMS_INFO = 15,
|
||||||
|
PAC_TYPE_TICKET_CHECKSUM = 16
|
||||||
|
} PAC_TYPE;
|
||||||
|
|
||||||
|
--
|
||||||
|
2.33.1
|
||||||
|
|
||||||
|
|
||||||
|
From 97323751c1b6b97e72eb80b8b99485d94696b30b 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 4/6] 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 515150ab9cd..7a8d16464eb 100644
|
||||||
|
--- a/librpc/idl/krb5pac.idl
|
||||||
|
+++ b/librpc/idl/krb5pac.idl
|
||||||
|
@@ -97,6 +97,16 @@ interface krb5pac
|
||||||
|
PAC_UPN_DNS_FLAGS flags;
|
||||||
|
} 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;
|
||||||
|
@@ -116,7 +126,8 @@ interface krb5pac
|
||||||
|
PAC_TYPE_CLIENT_CLAIMS_INFO = 13,
|
||||||
|
PAC_TYPE_DEVICE_INFO = 14,
|
||||||
|
PAC_TYPE_DEVICE_CLAIMS_INFO = 15,
|
||||||
|
- PAC_TYPE_TICKET_CHECKSUM = 16
|
||||||
|
+ PAC_TYPE_TICKET_CHECKSUM = 16,
|
||||||
|
+ PAC_TYPE_ATTRIBUTES_INFO = 17
|
||||||
|
} PAC_TYPE;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
@@ -133,6 +144,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.33.1
|
||||||
|
|
||||||
|
|
||||||
|
From 9867beabf3b0be026d900e26ac91af655fb50cfe Mon Sep 17 00:00:00 2001
|
||||||
|
From: Joseph Sutton <josephsutton@catalyst.net.nz>
|
||||||
|
Date: Tue, 26 Oct 2021 20:33:49 +1300
|
||||||
|
Subject: [PATCH 5/6] CVE-2020-25719 krb5pac.idl: Add PAC_REQUESTER_SID 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 | 8 +++++++-
|
||||||
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/librpc/idl/krb5pac.idl b/librpc/idl/krb5pac.idl
|
||||||
|
index 7a8d16464eb..52fb40c4bbb 100644
|
||||||
|
--- a/librpc/idl/krb5pac.idl
|
||||||
|
+++ b/librpc/idl/krb5pac.idl
|
||||||
|
@@ -107,6 +107,10 @@ interface krb5pac
|
||||||
|
PAC_ATTRIBUTE_INFO_FLAGS flags;
|
||||||
|
} PAC_ATTRIBUTES_INFO;
|
||||||
|
|
||||||
|
+ typedef struct {
|
||||||
|
+ dom_sid sid;
|
||||||
|
+ } PAC_REQUESTER_SID;
|
||||||
|
+
|
||||||
|
typedef [public] struct {
|
||||||
|
PAC_LOGON_INFO *info;
|
||||||
|
} PAC_LOGON_INFO_CTR;
|
||||||
|
@@ -127,7 +131,8 @@ interface krb5pac
|
||||||
|
PAC_TYPE_DEVICE_INFO = 14,
|
||||||
|
PAC_TYPE_DEVICE_CLAIMS_INFO = 15,
|
||||||
|
PAC_TYPE_TICKET_CHECKSUM = 16,
|
||||||
|
- PAC_TYPE_ATTRIBUTES_INFO = 17
|
||||||
|
+ PAC_TYPE_ATTRIBUTES_INFO = 17,
|
||||||
|
+ PAC_TYPE_REQUESTER_SID = 18
|
||||||
|
} PAC_TYPE;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
@@ -145,6 +150,7 @@ interface krb5pac
|
||||||
|
[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;
|
||||||
|
+ [case(PAC_TYPE_REQUESTER_SID)] PAC_REQUESTER_SID requester_sid;
|
||||||
|
/* 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.33.1
|
||||||
|
|
||||||
|
|
||||||
|
From fb92457cfd11745be73660eb90519b625f6a5d97 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andrew Bartlett <abartlet@samba.org>
|
||||||
|
Date: Mon, 27 Sep 2021 11:20:19 +1300
|
||||||
|
Subject: [PATCH 6/6] CVE-2020-25721 krb5pac: Add new buffers for
|
||||||
|
samAccountName and objectSID
|
||||||
|
|
||||||
|
These appear when PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID is set.
|
||||||
|
|
||||||
|
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14835
|
||||||
|
|
||||||
|
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
|
||||||
|
Reviewed-by: Joseph Sutton <josephsutton@catalyst.net.nz>
|
||||||
|
---
|
||||||
|
librpc/idl/krb5pac.idl | 18 ++++++++++++++++--
|
||||||
|
librpc/ndr/ndr_krb5pac.c | 4 ++--
|
||||||
|
2 files changed, 18 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/librpc/idl/krb5pac.idl b/librpc/idl/krb5pac.idl
|
||||||
|
index 52fb40c4bbb..bbe4a253e3a 100644
|
||||||
|
--- a/librpc/idl/krb5pac.idl
|
||||||
|
+++ b/librpc/idl/krb5pac.idl
|
||||||
|
@@ -86,15 +86,29 @@ interface krb5pac
|
||||||
|
} PAC_CONSTRAINED_DELEGATION;
|
||||||
|
|
||||||
|
typedef [bitmap32bit] bitmap {
|
||||||
|
- PAC_UPN_DNS_FLAG_CONSTRUCTED = 0x00000001
|
||||||
|
+ PAC_UPN_DNS_FLAG_CONSTRUCTED = 0x00000001,
|
||||||
|
+ PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID = 0x00000002
|
||||||
|
} PAC_UPN_DNS_FLAGS;
|
||||||
|
|
||||||
|
+ typedef struct {
|
||||||
|
+ [value(2*strlen_m(samaccountname))] uint16 samaccountname_size;
|
||||||
|
+ [relative_short,subcontext(0),subcontext_size(samaccountname_size),flag(NDR_ALIGN8|STR_NOTERM|NDR_REMAINING)] string *samaccountname;
|
||||||
|
+ [value(ndr_size_dom_sid(objectsid, ndr->flags))] uint16 objectsid_size;
|
||||||
|
+ [relative_short,subcontext(0),subcontext_size(objectsid_size)] dom_sid *objectsid;
|
||||||
|
+ } PAC_UPN_DNS_INFO_SAM_NAME_AND_SID;
|
||||||
|
+
|
||||||
|
+ typedef [nodiscriminant] union {
|
||||||
|
+ [case(PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID)] PAC_UPN_DNS_INFO_SAM_NAME_AND_SID sam_name_and_sid;
|
||||||
|
+ [default];
|
||||||
|
+ } PAC_UPN_DNS_INFO_EX;
|
||||||
|
+
|
||||||
|
typedef struct {
|
||||||
|
[value(2*strlen_m(upn_name))] uint16 upn_name_size;
|
||||||
|
[relative_short,subcontext(0),subcontext_size(upn_name_size),flag(NDR_ALIGN8|STR_NOTERM|NDR_REMAINING)] string *upn_name;
|
||||||
|
[value(2*strlen_m(dns_domain_name))] uint16 dns_domain_name_size;
|
||||||
|
[relative_short,subcontext(0),subcontext_size(dns_domain_name_size),flag(NDR_ALIGN8|STR_NOTERM|NDR_REMAINING)] string *dns_domain_name;
|
||||||
|
PAC_UPN_DNS_FLAGS flags;
|
||||||
|
+ [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 {
|
||||||
|
@@ -160,7 +174,7 @@ interface krb5pac
|
||||||
|
|
||||||
|
typedef [public,nopush,nopull] struct {
|
||||||
|
PAC_TYPE type;
|
||||||
|
- [value(_ndr_size_PAC_INFO(info, type, 0))] uint32 _ndr_size;
|
||||||
|
+ [value(_ndr_size_PAC_INFO(info, type, LIBNDR_FLAG_ALIGN8))] uint32 _ndr_size;
|
||||||
|
/*
|
||||||
|
* We need to have two subcontexts to get the padding right,
|
||||||
|
* the outer subcontext uses NDR_ROUND(_ndr_size, 8), while
|
||||||
|
diff --git a/librpc/ndr/ndr_krb5pac.c b/librpc/ndr/ndr_krb5pac.c
|
||||||
|
index a9ae2c4a789..57b28df9e52 100644
|
||||||
|
--- a/librpc/ndr/ndr_krb5pac.c
|
||||||
|
+++ b/librpc/ndr/ndr_krb5pac.c
|
||||||
|
@@ -41,7 +41,7 @@ enum ndr_err_code ndr_push_PAC_BUFFER(struct ndr_push *ndr, int ndr_flags, const
|
||||||
|
if (ndr_flags & NDR_SCALARS) {
|
||||||
|
NDR_CHECK(ndr_push_align(ndr, 4));
|
||||||
|
NDR_CHECK(ndr_push_PAC_TYPE(ndr, NDR_SCALARS, r->type));
|
||||||
|
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, _ndr_size_PAC_INFO(r->info,r->type,0)));
|
||||||
|
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, _ndr_size_PAC_INFO(r->info,r->type,LIBNDR_FLAG_ALIGN8)));
|
||||||
|
{
|
||||||
|
uint32_t _flags_save_PAC_INFO = ndr->flags;
|
||||||
|
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
|
||||||
|
@@ -59,7 +59,7 @@ enum ndr_err_code ndr_push_PAC_BUFFER(struct ndr_push *ndr, int ndr_flags, const
|
||||||
|
{
|
||||||
|
struct ndr_push *_ndr_info_pad;
|
||||||
|
struct ndr_push *_ndr_info;
|
||||||
|
- size_t _ndr_size = _ndr_size_PAC_INFO(r->info, r->type, 0);
|
||||||
|
+ size_t _ndr_size = _ndr_size_PAC_INFO(r->info, r->type, LIBNDR_FLAG_ALIGN8);
|
||||||
|
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info_pad, 0, NDR_ROUND(_ndr_size, 8)));
|
||||||
|
NDR_CHECK(ndr_push_subcontext_start(_ndr_info_pad, &_ndr_info, 0, _ndr_size));
|
||||||
|
NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->info, r->type));
|
||||||
|
--
|
||||||
|
2.33.1
|
||||||
|
|
@ -108,7 +108,7 @@
|
|||||||
|
|
||||||
%define samba_requires_eq() %(LC_ALL="C" echo '%*' | xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
|
%define samba_requires_eq() %(LC_ALL="C" echo '%*' | xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
|
||||||
|
|
||||||
%global baserelease 2
|
%global baserelease 7
|
||||||
|
|
||||||
%global samba_version 4.14.5
|
%global samba_version 4.14.5
|
||||||
%global talloc_version 2.3.2
|
%global talloc_version 2.3.2
|
||||||
@ -178,6 +178,12 @@ Source14: samba.pamd
|
|||||||
Source201: README.downgrade
|
Source201: README.downgrade
|
||||||
|
|
||||||
Patch0: samba-4.14-raise-dfs-enoent-debug-level.patch
|
Patch0: samba-4.14-raise-dfs-enoent-debug-level.patch
|
||||||
|
Patch1: CVE-2016-2124.patch
|
||||||
|
Patch2: CVE-2021-23192.patch
|
||||||
|
Patch3: CVE-2020-25717.patch
|
||||||
|
Patch4: samba-4.14-krb5pac.patch
|
||||||
|
Patch5: samba-4.14-fix-winbind-no-trusted-domain.patch
|
||||||
|
Patch6: samba-4.14-IPA-DC-add-missing-checks.patch
|
||||||
|
|
||||||
Requires(pre): /usr/sbin/groupadd
|
Requires(pre): /usr/sbin/groupadd
|
||||||
Requires(post): systemd
|
Requires(post): systemd
|
||||||
@ -1692,6 +1698,7 @@ fi
|
|||||||
%{_libdir}/samba/libctdb-event-client-samba4.so
|
%{_libdir}/samba/libctdb-event-client-samba4.so
|
||||||
%{_libdir}/samba/libdbwrap-samba4.so
|
%{_libdir}/samba/libdbwrap-samba4.so
|
||||||
%{_libdir}/samba/libdcerpc-samba-samba4.so
|
%{_libdir}/samba/libdcerpc-samba-samba4.so
|
||||||
|
%{_libdir}/samba/libdcerpc-pkt-auth-samba4.so
|
||||||
%{_libdir}/samba/libevents-samba4.so
|
%{_libdir}/samba/libevents-samba4.so
|
||||||
%{_libdir}/samba/libflag-mapping-samba4.so
|
%{_libdir}/samba/libflag-mapping-samba4.so
|
||||||
%{_libdir}/samba/libgenrand-samba4.so
|
%{_libdir}/samba/libgenrand-samba4.so
|
||||||
@ -3908,6 +3915,26 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Nov 22 2021 Andreas Schneider <asn@redhat.com> - 4.14.5-7
|
||||||
|
- related: rhbz#2021171 - Fix CVE-2020-25717
|
||||||
|
- Fix running ktest (selftest)
|
||||||
|
|
||||||
|
* Sat Nov 13 2021 Alexander Bokovoy <abokovoy@redhat.com> - 4.14.5-6
|
||||||
|
- related: rhbz#2021171 - Fix CVE-2020-25717
|
||||||
|
- Add missing checks for IPA DC server role
|
||||||
|
|
||||||
|
* Tue Nov 09 2021 Andreas Schneider <asn@redhat.com> - 4.14.5-5
|
||||||
|
- resolves: rhbz#2021493 - Add missing PAC buffer types to krb5pac.idl
|
||||||
|
- related: rbhz#2021171 - Fix regression with 'allow trusted domains = no'
|
||||||
|
|
||||||
|
* Fri Nov 05 2021 Andreas Schneider <asn@redhat.com> - 4.14.4-4
|
||||||
|
- resolves: rhbz#2021163
|
||||||
|
Fix CVE-2016-2124
|
||||||
|
- resolves: rhbz#2021167
|
||||||
|
Fix CVE-2021-23192
|
||||||
|
- resolves: rhbz#2021171
|
||||||
|
Fix CVE-2020-25717
|
||||||
|
|
||||||
* Tue Jul 13 2021 Andreas Schneider <asn@redhat.com> - 4.14.4-2
|
* Tue Jul 13 2021 Andreas Schneider <asn@redhat.com> - 4.14.4-2
|
||||||
- related: rhbz#1980346 - Rebuild for libtalloc 0.11.0
|
- related: rhbz#1980346 - Rebuild for libtalloc 0.11.0
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user