Связь может быть уязвима для атак «человек посередине»
Дефект возникает при неправильной проверке сертификата X.509, используемого для аутентификации соединения TLS/SSL при обработке соединения. Чтобы правильно проверить сертификат, необходимо вызвать эти две функции вместе, чтобы получить и проверить сертификат.
SSL_get_peer_certificate
: Получение сертификата от клиента или сервера, на котором выполняется проверка подлинности. Функция возвращает NULL, если сертификат отсутствует. Даже если функция возвращает сертификат, сертификат все равно должен быть проверен.
SSL_get_verify_result
: Проверка сертификата, представленного клиентом или сервером. Если вы не получите сертификат перед вызовом этой функции, нет ошибок верификации, и функция успешно возвращается.
Шашка поднимает дефект на функциях SSL_read
или SSL_write
при попытке чтения или записи в соединение TLS/SSL.
Шашка не поднимает дефект, если:
Контекст SSL объявляется вне возможностей функции, обрабатывающей соединение.
Вы используете анонимные наборы шифров.
Если вы неправильно проверяете валидность сертификата однорангового узла, который вы пытаетесь аутентифицировать, ваше подключение уязвимо для атак man-in-the-middle.
Чтобы правильно проверить валидность сертификата, вызовите оба SSL_get_peer_certificate
и SSL_get_verify_result
.
Группа: Криптография |
Язык: C | C++ |
По умолчанию: Off |
Синтаксис командной строки
: CRYPTO_SSL_CERT_NOT_CHECKED |
Влияние: Средний |
ИДЕНТИФИКАТОР CWE: 287 |
Find defects (-checkers)
| Missing certification authority list
| Missing X.509 certificate