Skip to content

Commit 739b43a

Browse files
authored
Merge pull request #61326 from nextcloud/backport/61320/stable33
[stable33] fix(user_ldap): Escape filter part when searching for group members
2 parents 9183ea7 + 1c931c6 commit 739b43a

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

apps/user_ldap/lib/Group_LDAP.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ public function inGroup($uid, $gid): bool {
118118
$parts = explode('@', $mid); //making sure we get only the uid
119119
$mid = $parts[0];
120120
}
121-
$filter = str_replace('%uid', $mid, $this->access->connection->ldapLoginFilter);
121+
$filter = str_replace('%uid', $this->access->escapeFilterPart($mid), $this->access->connection->ldapLoginFilter);
122122
$filterParts[] = $filter;
123123
$bytes += strlen($filter);
124124
if ($bytes >= 9000000) {
@@ -917,7 +917,7 @@ public function usersInGroup($gid, $search = '', $limit = -1, $offset = 0) {
917917
case 'memberuid':
918918
//we got uids, need to get their DNs to 'translate' them to user names
919919
$filter = $this->access->combineFilterWithAnd([
920-
str_replace('%uid', trim($member), $this->access->connection->ldapLoginFilter),
920+
str_replace('%uid', $this->access->escapeFilterPart($member), $this->access->connection->ldapLoginFilter),
921921
$this->access->combineFilterWithAnd([
922922
$this->access->getFilterPartForUserSearch($search),
923923
$this->access->connection->ldapUserFilter
@@ -1040,7 +1040,7 @@ public function countUsersInGroup($gid, $search = '') {
10401040
}
10411041
//we got uids, need to get their DNs to 'translate' them to user names
10421042
$filter = $this->access->combineFilterWithAnd([
1043-
str_replace('%uid', $member, $this->access->connection->ldapLoginFilter),
1043+
str_replace('%uid', $this->access->escapeFilterPart($member), $this->access->connection->ldapLoginFilter),
10441044
$this->access->getFilterPartForUserSearch($search)
10451045
]);
10461046
$ldap_users = $this->access->fetchListOfUsers($filter, ['dn'], 1);

0 commit comments

Comments
 (0)