Контекст, используемый для обработки подключений SSL/TLS, связан со слабым протоколом
Этот дефект возникает, когда вы не отключаете небезопасные протоколы в SSL_CTX или SSL перед использованием объекта для обработки соединений SSL/TLS.
Например, вы отключаете протоколы SSL2.0 и TLS1.0, но забываете отключить протокол SSL3.0, который также считается слабым.
/* Create and configure context */ ctx = SSL_CTX_new(SSLv23_method()); SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2|SSL_OP_NO_TLSv1); /* Use context to handle connection */ ssl = SSL_new(ctx); SSL_set_fd(ssl, NULL); ret = SSL_connect(ssl);
Протоколы SSL2.0, SSL3.0 и TLS1.0 считаются слабыми в криптографическом сообществе. Использование одного из этих протоколов может привести к перекрестным атакам. Злоумышленник может расшифровать шифротекст RSA, не зная закрытого ключа RSA.
Отключите небезопасные протоколы в объекте контекста перед использованием объекта для обработки соединений.
/* Create and configure context */ ctx = SSL_CTX_new(SSLv23_method()); SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3|SSL_OP_NO_TLSv1);
| Группа: Криптография |
| Язык: C | C++ |
| По умолчанию: Откл. |
Синтаксис командной строки:
CRYPTO_SSL_WEAK_PROTOCOL |
| Воздействие: среднее |
| CWE ID: 310, 327, 522, 693 |