From: Douglas Bagnall Date: Wed, 20 Oct 2021 04:10:44 +0000 (+1300) Subject: CVE-2020-25722 s4/dsdb/samldb: samldb_get_single_valued_attr() check all values X-Git-Tag: ldb-2.5.0~208 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c24a41342f03fbfe92b6d45104b7b6b12c916a1e;p=thirdparty%2Fsamba.git CVE-2020-25722 s4/dsdb/samldb: samldb_get_single_valued_attr() check all values using dsdb_get_expected_new_values(). BUG: https://bugzilla.samba.org/show_bug.cgi?id=14876 Signed-off-by: Douglas Bagnall Reviewed-by: Andrew Bartlett --- diff --git a/source4/dsdb/samdb/ldb_modules/samldb.c b/source4/dsdb/samdb/ldb_modules/samldb.c index ca82396d0a8..7b2f9321822 100644 --- a/source4/dsdb/samdb/ldb_modules/samldb.c +++ b/source4/dsdb/samdb/ldb_modules/samldb.c @@ -174,11 +174,19 @@ static int samldb_get_single_valued_attr(struct ldb_context *ldb, * attribute. */ struct ldb_message_element *el = NULL; + int ret; *value = NULL; - el = dsdb_get_single_valued_attr(ac->msg, attr, - ac->req->operation); + ret = dsdb_get_expected_new_values(ac, + ac->msg, + attr, + &el, + ac->req->operation); + + if (ret != LDB_SUCCESS) { + return ret; + } if (el == NULL) { /* we are not affected */ return LDB_SUCCESS;