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