KeyCloak закрывает восемь уязвимостей, в том числе допускающих захват домена и подделку токенов

Keycloak

Разработчики KeyCloak выпустили внеплановые обновления для двух стабильных веток - 26.0.10 и 26.6.4. Корректирующие релизы закрывают восемь уязвимостей, часть из которых оценивается как критические. Среди зафиксированных проблем - возможность удалённого выполнения кода, повышение привилегий вплоть до полного захвата пространства имён (realm), обход политик авторизации и межсайтовый скриптинг (XSS). Патчи опубликованы в репозитории проекта на GitHub, соответствующая информация содержится в бюллетенях GHSA.

Детали уязвимостей

Наибольший уровень опасности представляют четыре уязвимости, получившие статус High по шкале CVSS. Одна из них, CVE-2026-9099, связана с недостатком проверки прав доступа в конечной точке GroupResource.addChild() административного REST API. Если включена функция Fine-Grained Admin Permissions v2 (FGAPv2), атакующий, обладающий правами управления над одной группой с низкими привилегиями, может изменить родительскую группу для любой другой группы, включая ту, в которой состоят администраторы. В результате иерархия разрешений позволяет злоумышленнику сбросить пароль учётной записи администратора и полностью захватить realm. Уязвимость требует высоких исходных привилегий и сложна в эксплуатации, но последствия - потеря контроля над всей системой IAM.

Ещё одна проблема с пометкой High - CVE-2026-9795 - затрагивает механизм Fine-Grained Admin Permissions. Администратор, имеющий ограниченные права на управление клиентами, может назначить любую роль из числа ролей realm в scope mapping клиента. При обращении пользователя к такому клиенту эта роль попадает в токен аутентификации, расширяя права доступа за пределы предусмотренных политикой.

Третья уязвимость (CVE-2026-11800) связана с путаницей алгоритмов JWT в потоке JWT Authorization Grant. Аутентифицированный злоумышленник, зная учётные данные клиента, может подделать assertion и получить токен доступа от имени любого федеративного пользователя, подключённого к соответствующему Identity Provider. Эксплуатация не требует сложных действий, что делает её особенно опасной для организаций, использующих внешних провайдеров идентификации.

CVE-2026-9800 получила высокую оценку за простоту эксплуатации: любой аутентифицированный пользователь может обойти все политики авторизации (проверку ролей, ограничений доступа и User-Managed Access), просто включив путь к странице отказа доступа (access-denied page) в URL запроса. Уязвимость присутствует в модуле Policy Enforcer.

Кроме того, в релизы вошло исправление для межсайтового скриптинга (CVE-2026-9086), который позволяет злоумышленнику с правами manage-client обойти валидацию URI. При регистрации вредоносного клиента с redirect URI, использующим схему javascript: или data: в нечувствительном к регистру виде, жертва при переходе по ссылке (например, в процессе выхода из системы или в панели администратора) может выполнить произвольный JavaScript в контексте KeyCloak.

Три уязвимости умеренного уровня также требуют внимания. CVE-2026-9083 даёт администратору realm возможность проверить существование файлов на сервере, указывая произвольные пути в параметре хранилища ключей. CVE-2026-9705 позволяет реактивировать отключённого клиента через ранее выданный Registration Access Token (RAT), а затем сбросить его секрет. CVE-2026-9799 затрагивает модель User-Managed Access: имея разрешительный билет (permission ticket) на один ресурс, пользователь может указать определённый префикс в запросе и получить доступ ко всем ресурсам того же типа на том же сервере, если сервер работает в режиме PERMISSIVE и не имеет явных политик.

Уязвимости затрагивают все версии KeyCloak веток 26.0.x до 26.0.10 и 26.6.x до 26.6.4 включительно. Разработчики рекомендуют обновиться до указанных версий, в которых проблема полностью устранена. Для пользователей, не имеющих возможности немедленно установить патч, в бюллетенях приводятся временные меры - в частности, отключение FGAPv2, применение строгих политик для Policy Enforcer и ограничение выдачи Registration Access Tokens.

KeyCloak является одним из популярных решений с открытым исходным кодом для управления идентификацией и доступом, применяется как в корпоративных средах, так и в облачных инфраструктурах. Накопление сразу нескольких уязвимостей, часть из которых позволяет атакующему полностью захватить домен аутентификации, подчёркивает необходимость своевременной установки обновлений IAM-систем. Сочетание высоких оценок (до 8,8 по CVSS) и относительно низких требований к привилегиям для некоторых векторов делает текущий набор патчей приоритетным для внедрения.

Ссылки

Комментарии: 0