Keycloak коригира уязвимост, свързана с нарушен контрол на достъпа, която би могла да позволи на администратори с ограничени права да получат достъп до потребителски имена, имейл адреси и друга профилна информация на потребители извън техния разрешен обхват.
Този проблем, проследяван под идентификатор CVE-2026-17059, засяга Keycloak Admin REST API и е открит от изследователя от Escape Енцо Монжен, известен като Orionexe.
Red Hat публикува информацията за уязвимостта на 24 юли 2026 г., а Keycloak отстрани уязвимостта на 28 юли с пускането на Keycloak версия 26.7.0.
Уязвимостта съществува в крайната точка, използвана за изброяване на членовете, присвоени към определена роля:
GET /admin/realms/{realm}/roles/{role-name}/users
Ограничен администратор, притежаващ само правата „query-users“ и „view-realm“, може да извика тази крайна точка и да получи пълните потребителски записи за членовете на ролите, които има право да преглежда. Разкритата информация включва потребителски имена, имейл адреси, собствено и фамилно име, статус на акаунта и статус на потвърждение на имейла.
От Escape установяват, че Keycloak правилно защитава основната си крайна точка за изброяване на потребители. Когато ограничен администратор изпрати заявка към стандартния API за потребители, Keycloak връща празен отговор, тъй като акаунтът няма привилегията „view-users“.
Въпреки това, крайната точка за членове на ролята налага само общи разрешения за преглед на роли и търсене на потребители, без да прилага същия филтър за оторизация на ниво отделен потребител.
В резултат на това същият токен, който връща празен списък от основната крайна точка за потребители, може да извлече лични данни чрез API за членове на ролята.
Това създава риск за поверителността в споделени Keycloak среди, по-специално там, където акаунт тип „helpdesk“ е умишлено ограничен да не преглежда цялата потребителска директория.
Пропускът се класифицира като нарушено упълномощаване на ниво обект (BOLA), известно също като нарушен контрол на достъпа, съгласно CWE-639, и има CVSS оценка 6.5, оценена като „Средна“.
Експлоатацията изисква удостоверен, но умишлено ограничен администраторски акаунт, което прави това особено уместно за организации, които делегират частично администриране на Keycloak на екипи за поддръжка или бизнес звена.
Уязвимият код се намира в метода „RoleContainerResource.getUsersInRole“, който извлича членовете на ролята и директно ги преобразува в потребителски представяния, без да проверява дали лицето, извършващо извикването, е упълномощено да преглежда всеки отделен потребител.
Корекцията добавя необходимата валидация на видимостта за всеки потребител, преди да бъдат върнати потребителските записи. Средите, използващи детайлни администраторски разрешения версия 2, не са засегнати, тъй като филтрирането се извършва на ниво съхранение на данни. Излагането на риск засяга главно внедрявания, които използват модела на разрешения по подразбиране, където параметърът „adminPermissionsEnabled“ е зададен на „false“.
Организациите трябва да обновят Keycloak до версия 26.7.0 или по-нова. Администраторите трябва също така да прегледат акаунтите, на които са присвоени ролите „query-users“ и „view-realm“, особено в среди с множество екипи.
Екипите по сигурността трябва да тестват сродни API крайни точки за съгласувано поведение на оторизацията, тъй като защитеният основен маршрут не гарантира, че алтернативните пътища налагат същия контрол на достъпа.