В популярном сервисе управления идентификацией и доступом Keycloak обнаружено несколько уязвимостей. Самая опасная из них позволяет злоумышленнику без предварительной аутентификации захватить контроль над учетной записью. Проблемы затрагивают все версии до 26.7.2. Французский центр мониторинга CERT-FR предупреждает о рисках, а для одной из уязвимостей уже существует публичный эксплойт.
Детали уязвимостей
Keycloak - это открытое программное обеспечение, которое часто называют IAM-системой. Оно поддерживает стандартные протоколы OIDC, SAML и OAuth 2.0, поэтому применяется для единого входа в корпоративных приложениях. Администраторы используют его для управления пользователями, паролями и правами доступа. Компрометация такой системы ставит под угрозу все подключенные сервисы.
Ключевая проблема, идентифицированная как CVE-2026-18963, находится в механизме восстановления пароля. В нормальном режиме, когда пользователь забыл пароль, система отправляет ему письмо со ссылкой для сброса. Атакующий может вызвать выполнение этого процесса для произвольного пользователя, указав его имя. Однако из-за ошибки в проверке состояния запроса ссылка подтверждения не требуется, и атакующий может сразу задать новый пароль. Это дает ему полный доступ к учетной записи жертвы, включая все приложения, подключенные к Keycloak. Атака не требует никаких прав, кроме знания логина жертвы. Логины часто можно узнать из открытых источников или подобрать перебором. Для успешной атаки достаточно отправить несколько HTTP-запросов к уязвимому серверу. Не требуется никакого взаимодействия с жертвой, что делает атаку полностью автоматизированной. Злоумышленник может перебирать имена пользователей, пока не найдет активную учетную запись. Сочетание простоты эксплуатации и полного захвата делает эту уязвимость одной из самых опасных для систем аутентификации. Оценка CVSS 9.1 из 10 подтверждает критический уровень опасности.
Вторая уязвимость, CVE-2026-15571, связана с механизмом связывания учетных записей. Keycloak позволяет пользователям привязывать внешние аккаунты, например от социальных сетей или корпоративных провайдеров. Для защиты процесса используется хэш-подпись. Из-за предсказуемого характера генерации хэша вредоносное приложение, зарегистрированное как OIDC-клиент, может самостоятельно вычислить корректную ссылку для привязки. Если пользователь авторизуется в таком приложении, его внутренний аккаунт будет связан с аккаунтом внешнего провайдера, контролируемого атакующим. В результате злоумышленник получает возможность входить под учетной записью жертвы. Атака требует участия пользователя, которого нужно заставить авторизоваться через вредоносное приложение. Однако при использовании фишинговых ссылок или подмены страниц входа это несложно сделать.
Отдельную группу составляют уязвимости в механизме детальных прав администратора (FGAP v2). Этот механизм позволяет назначать администраторам права только на определенные группы или роли, исключая доступ к остальным. Ошибки в нем нарушают этот принцип. Первая проблема позволяет администратору, имеющему доступ к определенной роли, увидеть все группы, которым эта роль назначена. При этом система не проверяет, есть ли у администратора право просматривать такие группы. Вторая ошибка проявляется при поиске группы: если администратор может просматривать дочернюю группу, он получает данные родительской, даже если она скрыта. Утечка метаданных групп может использоваться для дальнейшей атаки. Например, зная внутренние названия групп, администратор с ограниченными правами может целенаправленно обращаться к другим ресурсам. Кроме того, в Admin REST API обнаружена утечка секретов клиентов. При обработке запросов на ротацию секретов система возвращает реальное значение вместо защищенного плейсхолдера. В результате делегированный администратор с правами только на просмотр может получить секретные материалы.
В дополнение к этому, в состав Keycloak включены уязвимые версии сторонних библиотек. OpenTelemetry Java SDK, используемый для сбора телеметрии, имеет проблему неограниченного потребления памяти при обработке заголовков. Атакующий может отправить специально сформированный запрос, который приведет к исчерпанию ресурсов сервера. Отказ в обслуживании часто недооценивают, но он может парализовать работу сервиса аутентификации и заблокировать доступ пользователей. Уязвимости в библиотеке jackson-databind, которая используется для преобразования данных между Java-объектами и JSON-форматом, позволяют обойти ограничения на игнорирование полей. Это может привести к изменению объектов, которые не должны быть доступны для модификации.
Keycloak применяется тысячами организаций по всему миру, включая государственные структуры и крупные корпорации. Он выступает в роли центрального сервиса аутентификации, поэтому компрометация учетной записи может иметь далеко идущие последствия. Злоумышленник, получивший доступ к чужому аккаунту, может читать электронную почту, получать доступ к внутренним системам, изменять данные. В случае административных учеток под удар попадает вся инфраструктура. Публичный эксплойт для CVE-2026-18963 повышает вероятность массовых атак в ближайшее время. Хотя часть уязвимостей требует наличия аккаунта администратора с ограниченными правами, они все равно представляют угрозу, поскольку позволяют обойти установленные границы. Учитывая масштабы использования Keycloak, даже одна критическая уязвимость привлекает внимание множества злоумышленников. Публичные эксплойты быстро интегрируются в хакерские инструменты, что увеличивает число инцидентов.
Разработчики Keycloak из компании Red Hat выпустили версию 26.7.2, которая закрывает все перечисленные проблемы, включая уязвимости в сторонних библиотеках. Пользователям следует как можно скорее обновить свои установки. Если немедленное обновление невозможно, Red Hat рекомендует временно отключить функцию восстановления пароля через забытый пароль для всех доменов аутентификации. Эта функция неактивна по умолчанию, но если она включена, атакующий может использовать ее для захвата аккаунтов. Отключение снижает риск, но не устраняет другие уязвимости, поэтому обновление остается обязательным. Процесс обновления Keycloak описан в официальной документации и обычно не вызывает сложностей. Тем не менее, перед обновлением стоит сделать резервную копию базы данных и файлов конфигурации.
Уязвимости затрагивают многие версии, в том числе предыдущие ветки 26.4 и 26.6. Пользователям старых выпусков необходимо обновиться до актуальной версии. Миграция может потребовать планирования, но задержка с установкой исправлений создает прямую угрозу безопасности. Атаки на системы аутентификации часто становятся отправной точкой для более масштабных вторжений. Получив доступ к чужому аккаунту, злоумышленник может исследовать внутреннюю сеть, повышать привилегии и перемещаться между системами. Ситуация с Keycloak показывает, как одна непропатченная уязвимость может поставить под угрозу всю инфраструктуру аутентификации. Регулярные обновления систем управления доступом остаются обязательным условием безопасности, а публичные эксплойты требуют немедленной реакции от администраторов. Задержка с установкой исправлений в системах IAM недопустима, так как последствия могут быть катастрофическими. Администраторам следует внести такие системы в список приоритетных для патч-менеджмента.
Ссылки
- https://www.keycloak.org/2026/08/keycloak-2672-released
- https://www.cve.org/CVERecord?id=CVE-2026-14613
- https://www.cve.org/CVERecord?id=CVE-2026-15571
- https://www.cve.org/CVERecord?id=CVE-2026-15945
- https://www.cve.org/CVERecord?id=CVE-2026-17048
- https://www.cve.org/CVERecord?id=CVE-2026-18963
- https://www.cve.org/CVERecord?id=CVE-2026-45292
- https://www.cve.org/CVERecord?id=CVE-2026-59888
- https://www.cve.org/CVERecord?id=CVE-2026-59889