dsdb-acl: Run sec_access_check_ds on each attribute proposed to modify (bug #9554...
authorAndrew Bartlett <abartlet@samba.org>
Wed, 9 Jan 2013 05:59:18 +0000 (16:59 +1100)
committerStefan Metzmacher <metze@samba.org>
Tue, 15 Jan 2013 11:14:25 +0000 (12:14 +0100)
commitb7b91c85945fab87e55cd8fd65a5b4c50a61d03b
treea5c6d61346806975d85e7b3a147675563fe2a17e
parentb26668c606057fb30b20efd912284c3e79d547ff
dsdb-acl: Run sec_access_check_ds on each attribute proposed to modify (bug #9554 - CVE-2013-0172)

This seems inefficient, but is needed for correctness.  The
alternative might be to have the sec_access_check_ds code confirm that
*all* of the nodes in the object tree have been cleared to
node->remaining_bits == 0.

Otherwise, I fear that write access to one attribute will become write
access to all attributes.

Andrew Bartlett

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
(cherry picked from commit d776fd807e0c9a62f428ce666ff812655f98bc47)
source4/dsdb/samdb/ldb_modules/acl.c