CVE-2021-4044
Некорректная обработка внутренних ошибок X509_verify_cert() в libssl
- Опубликовано
- 14 дек. 2021 г.
- Обновлено
- 17 сент. 2024 г.
- Назначение CNA
- openssl
- Наблюдены доказательства
- 4 авг. 2026 г.
Первичный CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HВысокий · следующие 30 дней
- Процентиль
- 98,9 %
- Дата модели
- 21 сент. 2026 г.
EPSS – это статистическая оценка, а не достоверность или мера воздействия. Объедините это с CVSS, статусом KEV, воздействием и вашей средой.
Резюме
Внутри libssl в OpenSSL на стороне клиента вызывается X509_verify_cert() для проверки сертификата, предоставленного сервером. Эта функция может вернуть отрицательное значение, указывающее на внутреннюю ошибку (например, нехватку памяти). Такое отрицательное возвращаемое значение некорректно обрабатывается OpenSSL и приведёт к тому, что функция ввода-вывода (например, SSL_connect() или SSL_do_handshake()) не укажет на успех, а последующий вызов SSL_get_error() вернёт значение SSL_ERROR_WANT_RETRY_VERIFY. Это возвращаемое значение должно возвращаться OpenSSL только в том случае, если приложение ранее вызвало SSL_CTX_set_cert_verify_callback(). Поскольку большинство приложений этого не делают, возвращаемое значение SSL_ERROR_WANT_RETRY_VERIFY от SSL_get_error() будет совершенно неожиданным, и приложения могут вести себя некорректно. Точное поведение будет зависеть от приложения, но это может привести к сбоям, бесконечным циклам или другим подобным ошибочным реакциям. Эта проблема становится более серьёзной в сочетании с отдельной ошибкой в OpenSSL 3.0, которая приводит к тому, что X509_verify_cert() указывает на внутреннюю ошибку при обработке цепочки сертификатов. Это происходит, когда сертификат не содержит расширение Subject Alternative Name, но при этом Центр сертификации применил ограничения на имена. Эта проблема может возникнуть даже с действительными цепочками. Объединив эти две проблемы, злоумышленник может вызвать некорректное, зависящее от приложения поведение. Исправлено в OpenSSL 3.0.1 (затронута версия 3.0.0).
Источники
1- CVE-2021-4044Обнаружение
Python-скрипт для проверки версии OpenSSL на уязвимость CVE-2021-4044 и тестирования SSL/TLS-соединений с указанными пользователем веб-сайтами, с обработкой ошибок и отчетностью.
Ответственное использование
Используйте информацию об уязвимостях только в тех системах, которыми вы владеете или имеете право тестировать. Kitploit ссылается на метаданные общедоступных исследований и не хранит код эксплойта или вредоносные полезные данные.