Компания Okta, ведущий поставщик решений для управления идентификацией и доступом, выявила критическую уязвимость в системе делегированной аутентификации AD/LDAP DelAuth. Проблема позволяла злоумышленникам потенциально обходить механизмы аутентификации при использовании специально сконструированных длинных имен пользователей.
Технические детали уязвимости
Уязвимость активировалась при использовании имени пользователя длиной более 52 символов. Хотя такая длина может показаться необычной, она вполне достижима при использовании email-адресов в качестве идентификаторов пользователей. Ключевым фактором эксплуатации являлось наличие сохраненного ключа кеша, созданного алгоритмом bcrypt на основе хеша из ID пользователя, имени пользователя и пароля.
Условия эксплуатации и механизм работы
Для успешной эксплуатации уязвимости требовалось соблюдение нескольких критических условий:
- Отключенная многофакторная аутентификация (МФА)
- Наличие предварительно закешированной успешной попытки входа
- Недоступность или перегрузка агента AD/LDAP
Технический анализ проблемы
Уязвимость основана на особенностях работы алгоритма bcrypt, который игнорирует входные данные, превышающие определенную длину при хешировании комбинации имени пользователя и пароля. При достаточно длинном имени пользователя система начинала принимать любые пароли, что создавало серьезную брешь в безопасности.
Хронология обнаружения и устранения
Проблема была обнаружена 30 октября 2024 года и оперативно устранена в тот же день. Однако анализ показал, что уязвимость присутствовала в системе более трех месяцев, начиная с 23 июля. Okta не предоставила информации о возможных случаях успешной эксплуатации уязвимости.
В качестве превентивных мер Okta настоятельно рекомендует всем клиентам активировать многофакторную аутентификацию и провести аудит журналов безопасности за период с 23 июля 2024 года, особое внимание уделяя попыткам аутентификации с использованием длинных имен пользователей. Организациям также рекомендуется регулярно проводить проверки конфигураций безопасности и поддерживать актуальность всех компонентов системы аутентификации.