From bedd0b768c3f92645af033399aefd7ee971d9150 Mon Sep 17 00:00:00 2001 From: Joseph Sutton Date: Tue, 14 Jun 2022 21:11:33 +1200 Subject: [PATCH] CVE-2022-32746 s4/dsdb/tombstone_reanimate: Use LDB_FLAG_MOD_TYPE() for flags equality check Now unrelated flags will no longer affect the result. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15009 Signed-off-by: Joseph Sutton --- source4/dsdb/samdb/ldb_modules/tombstone_reanimate.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source4/dsdb/samdb/ldb_modules/tombstone_reanimate.c b/source4/dsdb/samdb/ldb_modules/tombstone_reanimate.c index 64e05195798..5f8911c66be 100644 --- a/source4/dsdb/samdb/ldb_modules/tombstone_reanimate.c +++ b/source4/dsdb/samdb/ldb_modules/tombstone_reanimate.c @@ -104,7 +104,7 @@ static bool is_tombstone_reanimate_request(struct ldb_request *req, if (el_dn == NULL) { return false; } - if (el_dn->flags != LDB_FLAG_MOD_REPLACE) { + if (LDB_FLAG_MOD_TYPE(el_dn->flags) != LDB_FLAG_MOD_REPLACE) { return false; } if (el_dn->num_values != 1) { @@ -117,7 +117,7 @@ static bool is_tombstone_reanimate_request(struct ldb_request *req, return false; } - if (el_deleted->flags != LDB_FLAG_MOD_DELETE) { + if (LDB_FLAG_MOD_TYPE(el_deleted->flags) != LDB_FLAG_MOD_DELETE) { return false; } -- 2.47.2