1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00
samba-mirror/source4
Tim Beale 4c9b380527 selftest: Add sanity-check RODC can't use cache to reveal secrets
Bug 12977 highlighted that Samba only checks exop GetNcChanges requests
once, when they're first received. This makes sense because valid exop
requests should only ever involve a single request. For regular
(non-exop) GetNcChanges requests, the server stores a cache of the
object GUIDs to return.

What we don't want to happen is for a malicious/compromised RODC to use
this cache to circumvent privilege checks, and receive secrets that it's
normally not permitted to access (e.g. the administrator's password).

The specific scenario we're concerned about is:
- The RODC sends a regular GetNcChanges request for all objects (without
  secrets). (This causes the server to build its GUID array cache).
- The RODC then sends a follow-on request for the next chunk, but sets
  the REPL_SECRET exop this time.

The only thing inadvertently preventing Samba from leaking secrets in
this case is updating msDS-RevealedUsers for auditing. It's possible
that a future code change may alter the codepath and open up a
security-hole without realizing. This patch adds a test case so if that
ever did happen, the selftests would detect the problem.

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

Signed-off-by: Tim Beale <timbeale@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2017-10-14 07:28:18 +02:00
..
auth s4:auth/ntlmssp: add support for using "winbind" as DC 2017-08-07 15:20:03 +02:00
build/pasn1
cldap_server s4: Add TALLOC_CTX * to register_server_service(). 2017-05-11 20:30:13 +02:00
client s4: cifsdd: Allocate the event context off NULL, not talloc_autofree_context(). 2017-05-13 16:50:13 +02:00
cluster
dns_server samdb: Rework samdb_connect_url() to return LDB error code and an error string 2017-09-20 02:25:30 +02:00
dsdb replmd: RMD_VERSION incorrectly incremented for link conflicts 2017-09-26 09:36:48 +02:00
echo_server s4: Add TALLOC_CTX * to register_server_service(). 2017-05-11 20:30:13 +02:00
heimdal HEIMDAL: don't bother seeing q if not sent 2017-08-28 15:10:54 +02:00
heimdal_build s4:heimdal_build: there's no need to define HAVE_KRB5_ADDRESSES twice 2017-10-11 12:33:42 +02:00
include lib: Remove global xfile.h includes 2016-11-20 06:23:19 +01:00
kdc mit-kdb: Fix NULL pointer check after malloc 2017-07-24 18:45:33 +02:00
ldap_server ldap_server: Plumb ldb error string from a failed connect to ldapsrv_terminate_connection() 2017-09-20 02:25:30 +02:00
lib lib: talloc: Use the system <talloc.h> include. 2017-08-17 00:53:48 +02:00
libcli Make sure smbtorture tests can run if someone has set their min protocol above NT1. 2017-09-20 22:48:15 +02:00
libnet debug: Add new debug class "drs_repl" for DRS replication processing 2017-09-07 06:56:27 +02:00
librpc Install dcerpc/__init__.py for all Python environments 2017-09-14 22:29:39 +02:00
nbt_server s4: Add TALLOC_CTX * to register_server_service(). 2017-05-11 20:30:13 +02:00
ntp_signd s4: Add TALLOC_CTX * to register_server_service(). 2017-05-11 20:30:13 +02:00
ntvfs s4:auth/unix_token: remove unused tevent_context from security_token_to_unix_token() 2017-06-26 08:47:15 +02:00
param source4/provision: fix talloc_steal on unallocated memory 2017-05-25 02:25:13 +02:00
rpc_server s4-dnsserver: Check for too many DNS results 2017-09-20 08:15:21 +02:00
script
scripting scripting: Add script (backportable) to undo a GUID index 2017-09-23 09:16:31 +02:00
selftest selftest: Rename ntlmauth tests to ntlmdisabled 2017-09-26 00:41:16 +02:00
setup provision: Add a fixed GUID to the samba4top objectclass definition 2017-09-23 05:26:15 +02:00
smb_server s4:smb_server: avoid using gensec_update_ev() for the negotiate blob 2017-05-21 21:05:08 +02:00
smbd source4 smbd: remove global control pipe from process_standard. 2017-09-28 02:08:34 +02:00
torture selftest: Add sanity-check RODC can't use cache to reveal secrets 2017-10-14 07:28:18 +02:00
utils man pages: change http://samba.org to https://www.samba.org 2016-12-09 13:10:26 +01:00
web_server s4: Add TALLOC_CTX * to register_server_service(). 2017-05-11 20:30:13 +02:00
winbind s4: Add TALLOC_CTX * to register_server_service(). 2017-05-11 20:30:13 +02:00
wrepl_server s4: Add TALLOC_CTX * to register_server_service(). 2017-05-11 20:30:13 +02:00
.clang_complete
.valgrind_suppressions
wscript_build