Неправильная реализация алгоритма аутентификации в реализации SCRAM Apache Kafka. Краткое описание проблемы: Реализация Salted Challenge Re…
Неправильная реализация алгоритма аутентификации в реализации SCRAM Apache Kafka. Краткое описание проблемы: Реализация Salted Challenge Response Authentication Mechanism (SCRAM) в Apache Kafka не полностью соответствовала требованиям RFC 5802 [1]. В частности, согласно RFC 5802, сервер должен проверить, что nonce, отправленный клиентом во втором сообщении, соответствует nonce, отправленному сервером в его первом сообщении. Однако реализация SCRAM в Kafka не выполняла эту проверку. Воздействие: Эта уязвимость может быть использована только в том случае, если злоумышленник имеет доступ к обмену аутентификацией SCRAM в виде открытого текста. Однако использование SCRAM через открытый текст настоятельно не рекомендуется, поскольку это считается небезопасной практикой [2]. Apache Kafka рекомендует развертывать SCRAM исключительно с шифрованием TLS для защиты обменов SCRAM от перехвата [3]. Развертывания, использующие SCRAM с TLS, не подвержены этой проблеме. Как определить, затронуты ли вы: Если ваше развертывание использует аутентификацию SCRAM через каналы связи в виде открытого текста (без шифрования TLS), вы, вероятно, затронуты. Чтобы проверить, включен ли TLS, просмотрите файл конфигурации server.properties на предмет свойства listeners. Если у вас есть SASL_PLAINTEXT в слушателях, то вы, вероятно, затронуты. Детали исправления: Проблема была решена путем введения проверки nonce в окончательном сообщении обмена аутентификацией SCRAM для обеспечения соответствия RFC 5802. Затронутые версии: Apache Kafka версии с 0.10.2.0 по 3.9.0, исключая исправленные версии ниже. Исправленные версии: 3.9.0 3.8.1 3.7.2 Пользователям рекомендуется обновиться до версии 3.7.2 или более поздней, чтобы снизить эту проблему. Рекомендации по смягчению последствий: Пользователи, которые не могут обновиться до исправленных версий, могут смягчить проблему, выполнив следующие действия: - Использование TLS с аутентификацией SCRAM: Всегда развертывайте SCRAM через TLS для шифрования обменов аутентификацией и защиты от перехвата. - Рассмотрение альтернативных механизмов аутентификации: Оцените альтернативные механизмы аутентификации, такие как PLAIN, Kerberos или OAuth с TLS, которые обеспечивают дополнительные уровни безопасности.
Требования к продукту предписывают использование установленного алгоритма аутентификации, однако его реализация выполнена некорректно.
https://cwe.mitre.org/data/definitions/303.html →Открыть в коллекции CWE →Злоумышленник может злоупотребить протоколом аутентификации, уязвимым к атаке-отражению, для его обхода. Это позволяет злоумышленнику получить нелегитимный доступ к целевой системе без наличия требуемых учётных данных. Атаки-отражения представляют серьёзную угрозу для протоколов аутентификации, основанных на механизме запрос-ответ или аналогичном. Злоумышленник может выдавать себя за легитимного пользователя и, успешно проведя атаку-отражение в ходе аутентификации, получить нелегитимный доступ к системе.
https://capec.mitre.org/data/definitions/90.html →Открыть в коллекции CAPEC →