Контекст, используемый для обработки 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++ |
По умолчанию: Off |
Синтаксис командной строки
: CRYPTO_SSL_WEAK_PROTOCOL |
Влияние: Средний |
ИДЕНТИФИКАТОР CWE: 310, 327, 522, 693 |