From 60ecc432a49e1a768e8f95024073a1607c99a43e Mon Sep 17 00:00:00 2001 From: Christopher Ng Date: Tue, 17 Aug 2021 17:57:21 +0000 Subject: Hash cache key Signed-off-by: Christopher Ng --- lib/private/User/Manager.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/private/User/Manager.php b/lib/private/User/Manager.php index 12c615d500b..1827be61a7a 100644 --- a/lib/private/User/Manager.php +++ b/lib/private/User/Manager.php @@ -158,7 +158,7 @@ class Manager extends PublicEmitter implements IUserManager { return $this->cachedUsers[$uid]; } - $cachedBackend = $this->cache->get($uid); + $cachedBackend = $this->cache->get(sha1($uid)); if ($cachedBackend !== null && isset($this->backends[$cachedBackend])) { // Cache has the info of the user backend already, so ask that one directly $backend = $this->backends[$cachedBackend]; @@ -174,7 +174,8 @@ class Manager extends PublicEmitter implements IUserManager { } if ($backend->userExists($uid)) { - $this->cache->set($uid, $i, 300); + // Hash $uid to ensure that only valid characters are used for the cache key + $this->cache->set(sha1($uid), $i, 300); return $this->getUserObject($uid, $backend); } } -- cgit v1.2.3