mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
CVE-2018-1057: s4:dsdb/acl: only call dsdb_acl_debug() if we checked the acl in acl_check_password_rights()
Bug: https://bugzilla.samba.org/show_bug.cgi?id=13272 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
This commit is contained in:
parent
c653e51a3d
commit
2fea9ee701
@ -1014,12 +1014,14 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
|
||||
GUID_DRS_USER_CHANGE_PASSWORD,
|
||||
SEC_ADS_CONTROL_ACCESS,
|
||||
sid);
|
||||
goto checked;
|
||||
}
|
||||
else if (rep_attr_cnt > 0 || (add_attr_cnt != del_attr_cnt)) {
|
||||
ret = acl_check_extended_right(tmp_ctx, sd, acl_user_token(module),
|
||||
GUID_DRS_FORCE_CHANGE_PASSWORD,
|
||||
SEC_ADS_CONTROL_ACCESS,
|
||||
sid);
|
||||
goto checked;
|
||||
}
|
||||
else if (add_attr_cnt == 1 && del_attr_cnt == 1) {
|
||||
ret = acl_check_extended_right(tmp_ctx, sd, acl_user_token(module),
|
||||
@ -1030,7 +1032,13 @@ static int acl_check_password_rights(TALLOC_CTX *mem_ctx,
|
||||
if (ret == LDB_ERR_INSUFFICIENT_ACCESS_RIGHTS) {
|
||||
ret = LDB_ERR_CONSTRAINT_VIOLATION;
|
||||
}
|
||||
goto checked;
|
||||
}
|
||||
|
||||
talloc_free(tmp_ctx);
|
||||
return LDB_SUCCESS;
|
||||
|
||||
checked:
|
||||
if (ret != LDB_SUCCESS) {
|
||||
dsdb_acl_debug(sd, acl_user_token(module),
|
||||
req->op.mod.message->dn,
|
||||
|
Loading…
Reference in New Issue
Block a user