CVE-2024-9666: DoS-уязвимость в Keycloak из-за обработки proxy-заголовков
В Keycloak Server выявлена уязвимость CVE-2024-9666, связанная с некорректной обработкой proxy-заголовков. При определённых условиях эксплуатации она позволяет злоумышленнику инициировать атаку типа «отказ в обслуживании» (DoS) и временно вывести сервис из строя.
Подробности
Уязвимость затрагивает следующие продукты:
- Red Hat build of Keycloak 24;
- Red Hat build of Keycloak 24.0.9;
- Red Hat build of Keycloak 26.0;
- Red Hat build of Keycloak 26.0.6;
- Red Hat Build of Keycloak (в целом);
- Red Hat JBoss Enterprise Application Platform 8.
Суть проблемы: когда Keycloak настроен на приём входящих proxy-заголовков, он может принимать значения, не являющиеся IP-адресами, — например, обфусцированные идентификаторы — без должной валидации. Это приводит к выполнению затратных операций DNS-разрешения, которыми атакующий может злоупотребить, чтобы занять I/O-потоки и вызвать отказ в обслуживании.
Для эксплуатации атакующему необходим доступ к отправке запросов на экземпляр Keycloak, настроенный на приём proxy-заголовков. Критично, что уязвимость проявляется только в конфигурации, где обратный прокси не перезаписывает входящие заголовки, а Keycloak настроен доверять им. Уязвимости присвоена оценка CVSS 4.7 (средний уровень опасности).
Что делать
Рекомендуется принять следующие меры:
- Обновить затронутые версии Keycloak до актуальных сборок, в которых устранена проблема. Следите за рекомендациями Red Hat по конкретным исправленным версиям.
- Проверить конфигурацию обратного прокси: убедиться, что он перезаписывает входящие proxy-заголовки, а не пропускает их в неизменном виде.
- Пересмотреть настройки доверия к proxy-заголовкам в Keycloak: включать их только при явной необходимости и при наличии доверенного прокси перед сервером.
- Ограничить сетевой доступ к экземпляру Keycloak, чтобы запросы могли отправлять только доверенные источники.
Уязвимость CVE-2024-9666 имеет средний уровень критичности и не эксплуатируется в конфигурациях по умолчанию — для атаки требуются специфические настройки прокси и доверия заголовкам. Тем не менее, учитывая, что Keycloak часто используется как центральный компонент аутентификации и авторизации, пренебрегать обновлением не стоит. Проверьте свою конфигурацию и своевременно установите исправления.
Источник: CVE Project (cvelistV5)
